local Z=game:GetService("\082\117\110\083\101\114\118\105\099\101")local e=game:GetService("\068\101\098\114\105\115")local Q=game:GetService("\084\119\101\101\110\083\101\114\118\105\099\101")local I=game:GetService("\083\101\114\118\101\114\083\116\111\114\097\103\101")local f=game:GetService("\080\104\121\115\105\099\115\083\101\114\118\105\099\101")local Y=script.Parent local W=require(Y.CoreModule)local z=require(Y.Status)local P=require(Y.TargetModule)local U=require(Y.ActionsModule)local D=require(Y.Troubleshoot)local M=script.Parent.Parent.Parent local o=M.HumanoidRootPart local G=M.Humanoid local E=M.Head local h=M.M4 local L=h.Barrel local R=L.MuzzleDynamicLight local C=h.Chamber local O=h.Fire local k=h.Impact

local runService = game:GetService("RunService")
local debrisService = game:GetService("Debris")
local tweenService = game:GetService("TweenService")
local serverStorage = game:GetService("ServerStorage")
local physicsService = game:GetService("PhysicsService")

local modules = script.Parent
local core = require(modules.CoreModule)
local status = require(modules.Status)
local targeting = require(modules.TargetModule)
local actions = require(modules.ActionsModule)
local troubleshoot = require(modules.Troubleshoot)

local marine = script.Parent.Parent.Parent
local myRoot = marine.HumanoidRootPart
local myHuman = marine.Humanoid
local myHead = marine.Head

local m4 = marine.M4
local barrel = m4.Barrel
local lightFlash = barrel.MuzzleDynamicLight
local chamber = m4.Chamber
local fireSound = m4.Fire
local impact = m4.Impact
