#451 Refactor #424 Some updates

Refactoriced many attributes and functions (many of them about weapons).
The attack method of Weapon object is now used, but not finished yet.