weapon.py