First round of combat module code, many additions/changes that were not
included in the original design document.