Weapons now take their stats from a global dictionary and have sufficient abstraction