Smashing works!  Added entity::std_attack() (uses weapon if it exists) and a few other small functions.