I know this is an older thread, but I've put something together based on the work lobotomizedgod did on this thread, and that of Ward_Point on gamefaqs.com.
...