It's hard to resolve a burdened cpu with threads, and it's hard to write
a paper with    hammer. Oh the things you learn when you program.

Implemented a little wait function between units so ruby doesn't crap
itself when the AI is telling it what to do.

Oh, and I implemented some venturing logic; 
the attack statement has 3 cases:
  1. an enemy unit is within immediate attack radius
  2. an enemy unit is within two movements near
  3. no near enemies, go to capital.
Couple of things about this. 1st, it still suffers from under-moving
units, i.e. not going as far as possible when something is known to be
out of range. 2nd, if the capital path is obstructed (say by a horde of
enemy units) the units will not venture (kind of a major problem if in
case 3) and choosing danger spots over perfect spots needs to be
revamped. also, in need of the equivalent of case 2 for ranged units.

but hey, at least things are progressing and kinda working =)