finished weapon implementation and fixed cat.py