change weaponry.py to abstract class weapon_class.py and fix callers