function WeaponRuntimeData.New(P,G)local w={}setmetatable(w,WeaponRuntimeData)w.weaponDefinition=P w.character=G w.recoilSimulator=RecoilSimulator.New(w)w.spreadSimulator=SpreadSimulator.New(w)w.currentAmmo=w.weaponDefinition:GetMaxAmmo()return w end

function WeaponRuntimeData.New(weaponDefinition,character)
	local self = {}
	setmetatable(self,WeaponRuntimeData)
	
	self.weaponDefinition = weaponDefinition
	self.character = character
	self.recoilSimulator = RecoilSimulator.New(self)
	self.spreadSimulator = SpreadSimulator.New(self)
	
	-- Runtime Variables
	self.currentAmmo = self.weaponDefinition:GetMaxAmmo() -- Weapon starts out with max ammo

	return self
end
