i'm working on it, but i need help, i can't handle this on my own.
i'm pretty sure i have the decision making figured out, but some of the functions are a little obscure.
mostly it's to do with the nodes.
the original stored info on node links, specifically, what movement type was valid between one node and another.
it also did a lot of target calculation based on these nodes. i can assume that the nodes were used as a way of cutting down on calculations, as they could be placed by hand in logical positions, rather than forcing the AI to evaluate every single tile.
i've managed to identify what triggers each type of behaviour, and how it flows, but the devil is in the details, as they say. there's a LOT of alteration required.
if anyone is interested in helping me out, i'm almost always available on IRC.