Initialized weapon module, and reconstructed some other code.
Merge branch 'feature-weapon' into develop