Enhanced version of jj_Weapon.
It has these improvements over the original one:
- Support for multiple instances of the same weapon. In the original version it didn’t pick the right instance when shooting, so all bullets came from the same weapon.
- It triggers the on created event after spawning bullets.
- Added support to modify the stock size from event sheets.
- It can save its state when required (implemented 'saveToJson' and 'loadFromJson' methods) this is very important to persist the state of the weapons.
- The UID of the shooting weapon is now available on shoot event.
- Setting the bullet instance is now optional. This allows jj_Weapon to be potentially used for melee attacks or as some kind of timer with cool features.