Home of the Odd Duk

Category: Microlite 20 (Page 4 of 5)

M20 on My Mind

I have a lot to catch up on over at Nevermet Press. Many, many wiki entries and posts are just bursting to get out of my mind. Alas, energy and concentration are not my friends.

So a quick brain dump here in an attempt to get going:

Odd Retroclone Idea One:

Wanted to be successful with M20 Odd Duck inspired by this post. Basically, the spell list would be substituted with the spells from The Fantasy Trip. Conversion of the spells has been problematic. I finally figured out that IQ level =! M20 spell level. ST cost also doesn't seem to translate as some spells have 50, 60 or 100 ST cost while many others range from 1 to 10.

I created a spreadsheet to rank them relatively to each other. An IQ 14 spell that cost 1 ST would be a higher level than an IQ 8 spell that cost 2 ST. The formula is not that complicated as I opted out of trying to determine a normalized distribution. Besides, I'm not that good at normalization (in math or databases) anyway.

I may never finish it. Ugh. It's a good idea that I just cannot implement.

Odd Retroclone Idea Two:

I also have some bizarre deathwish to create my own retro-clone. It would be a complete vanity project that 'feels' like the amalgam of B/X, 1st and 2nd edition AD&D with some new found love for BAB and other d20 conventions. The other oddity would be how everything is inspired by Paul M. Crabaugh. I will include a class generator (which only needs options for illusionists) and a monster generator. I am about 33% done with the generator - it only generates non-magical beasts at the moment.

What compels me on this idea is a mystery to me.

Tiny Dungeons Project

Over on the M20 boards, they are discussing a Tiny Dungeons Project.

Part of it mentions the critters.pl script greywulf hosted on the old m20 site. I couldn't find the original, but I found my modified script for M20 (my other post has it modified for Action!).

CODE:

#!/usr/bin/perl
srand(time ^ $$ ^ unpack "%L*", 'ps axww | gzip');
$usage="usage: $0 number maxhd\n";
$ARGV[0]=~/^(\d+)$/ && ($numb = $1) || die $usage;
$ARGV[1]=~/^(\d+)$/ && ($maxhd = $1) || die $usage;
%rule = (
'W','VF YF YF YXF YXF YXYF B',
'B','PB YNF YNXF YNXF YNXYF YXYNF',
'P','a ambi ante circum cis co de dis ob per prae se sine sub',
'Y','Ca Ce Ci Co Cu Cy Da De Di Do Dy',
'X','Ce Ci Co o',
'V','a e i o u',
'F','Ca Ca Ca Cae Cos Com Cus Cus Cus Cus Cus Cium Cium Ces',
'C','b b c c ch ch d d d g g l l m m n n p p ph r r r s s s t t th th v x z Rr sH Ll',
'D','b b c c ch ch d d g g l l m m n n p p ph r r r s s s t t t th th v x z Rr sH Ll h qu gn pt',
'R','b b c c c ch ch g g p p ph t t th th',
'L','c ch p g f',
'H','c ch cl m n p ph pl pr qu t th',
'N','n c l r'
);

for (1..$numb) { print &parse('W'), " : ", &stats, "\n"; }

sub parse {
$_=pop(@_);
/[^A-Z]/ && return $_;
@TMP=split(/\s+/, $rule{$_});
$_=splice(@TMP, rand @TMP, 1);
for (split('')) { print &parse($_); }
}

sub stats {
$tst = int(rand()*13)+1;
$hd = int(rand()*$maxhd)+1;
$hp = int($hd*4.5)+int(rand()*4*$hd);
$ac = 10+$hd+int(rand()*5);
$tohit = $hd+int(rand()*4);
$dmg = int(rand()*2)+1 . 'd' . (int(rand()*6)+1)*2 . (rand>0.6?'+':'-') . (int(rand()*4)+2);
%weapon = ( '1' => 'Bite',
'2' => 'Claw',
'3' => 'Talon',
'4' => 'Gore',
'5' => 'Slap',
'6' => 'Slam',
'7' => 'Sting',
'8' => 'Tentacle',
'9' => 'Weapon',
'10' => 'Weapon',
'11' => 'Weapon',
'12' => 'Weapon',
'13' => 'Weapon',);
$type = $weapon{$tst};
#    $type = (rand>0.6?"By weapon":"Natural");

return "HD$hd (${hp}hp), AC$ac, $type +$tohit ($dmg)";
}

« Older posts Newer posts »

© 2024 Sycarion Diversions

Theme by Anders NorenUp ↑