A suggestion for the next update: put all the "places" where you have to fight in one subroutine and the variable things in a hash (similar as you have doen with the fighting routines).
CountZero
"If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law