Added inheritance and constructors to defclass
Cleaned up anonymous function definitions
Added battle-condition hierarchy