Renewal/lua/weapons/arccw_ur_mp5.lua

1232 lines
34 KiB
Lua
Raw Permalink Normal View History

2024-02-29 22:16:56 -05:00
SWEP.Base = "arccw_base"
SWEP.Spawnable = true
SWEP.Category = "ArcCW - Urban Coalition"
SWEP.UC_CategoryPack = "2Urban Renewal"
SWEP.AdminOnly = false
SWEP.UseHands = true
-- Effects --
SWEP.MuzzleEffect = "muzzleflash_mp5"
SWEP.ShellEffect = "arccw_uc_shelleffect"
SWEP.ShellModel = "models/weapons/arccw/uc_shells/9x19.mdl"
SWEP.ShellScale = 1
--SWEP.ShellMaterial = "models/weapons/arcticcw/shell_9mm"
SWEP.ShellPitch = 100
SWEP.ShellSounds = ArcCW.PistolShellSoundsTable
SWEP.MuzzleEffectAttachment = 1
SWEP.CaseEffectAttachment = 2
-- SWEP.CamAttachment = 3 ---------------------------------------------------------------------------
-- SWEP.TracerNum = 1
-- SWEP.TracerCol = Color(25, 255, 25)
-- SWEP.TracerWidth = 2
-- Fake name --
SWEP.PrintName = "PK5-4"
-- True name --
SWEP.TrueName = "MP5A4"
-- Trivia --
SWEP.Trivia_Class = "Submachine Gun"
SWEP.Trivia_Desc = [[Versatile submachine gun known for its use by high profile police units around the world, most famously by the British SAS during the Iranian embassy siege. Its reliable closed-bolt design and craftsmanship allowed it to remain relevant among new generations of submachine guns.
If accurate, sophisticated close-combat performance is what you're looking for, no weapon has a better track record.
Switch to burst fire mode to reduce dispersion from moving and hipfiring.]]
SWEP.Trivia_Manufacturer = "Crowdley & Nelson"
SWEP.Trivia_Calibre = "9x19mm Parabellum"
SWEP.Trivia_Mechanism = "Roller-Delayed Blowback"
SWEP.Trivia_Country = "Germany"
SWEP.Trivia_Year = 1966
-- Weapon slot --
SWEP.Slot = 2
-- Weapon's manufacturer real name --
if GetConVar("arccw_truenames"):GetBool() then
SWEP.PrintName = SWEP.TrueName
SWEP.Trivia_Manufacturer = "Heckler & Koch"
end
-- Viewmodel / Worldmodel / FOV --
SWEP.ViewModel = "models/weapons/arccw/c_ur_mp5.mdl"
SWEP.WorldModel = "models/weapons/arccw/c_ur_mp5.mdl"
SWEP.ViewModelFOV = 70
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
SWEP.ProceduralIronFire = true
-- Damage --
SWEP.Damage = ArcCW.UC.StdDmg["9mm"].max
SWEP.DamageMin = ArcCW.UC.StdDmg["9mm"].min
SWEP.Penetration = ArcCW.UC.StdDmg["9mm"].pen
SWEP.RangeMin = 20
SWEP.Range = 100
SWEP.DamageType = DMG_BULLET
SWEP.ShootEntity = nil
SWEP.MuzzleVelocity = 400
SWEP.PhysBulletMuzzleVelocity = 400
SWEP.BodyDamageMults = ArcCW.UC.BodyDamageMults
-- Mag size --
SWEP.ChamberSize = 1
SWEP.Primary.ClipSize = 30
SWEP.ExtendedClipSize = 40
SWEP.ReducedClipSize = 15
-- Recoil --
SWEP.Recoil = 0.22
SWEP.RecoilSide = 0.17
SWEP.RecoilRise = 0.6
SWEP.RecoilPunch = 1
SWEP.VisualRecoilMult = 1.25
SWEP.MaxRecoilBlowback = 1
SWEP.MaxRecoilPunch = 0.6
SWEP.RecoilPunchBack = 1.5
SWEP.Sway = 0.25
-- Firerate / Firemodes --
SWEP.Delay = 60 / 800
SWEP.Num = 1
SWEP.Firemodes = {
{
Mode = 2,
},
{
Mode = -3,
Mult_MoveDispersion = 0.75,
Mult_HipDispersion = 0.9,
},
{
Mode = 1,
},
{
Mode = 0,
},
}
SWEP.ShootPitch = 100
SWEP.ShootVol = 120
SWEP.ProceduralRegularFire = false
SWEP.ProceduralIronFire = false
SWEP.ReloadInSights = true
-- NPC --
SWEP.NPCWeaponType = "weapon_smg1"
SWEP.NPCWeight = 60
-- Accuracy --
SWEP.AccuracyMOA = 3
SWEP.HipDispersion = 500
SWEP.MoveDispersion = 150
SWEP.JumpDispersion = 1000
SWEP.Primary.Ammo = "pistol"
SWEP.MagID = "mp5"
SWEP.HeatCapacity = 75
SWEP.HeatDissipation = 15
SWEP.HeatDelayTime = 3
SWEP.MalfunctionMean = 200
-- Speed multipliers --
SWEP.SpeedMult = 0.925
SWEP.SightedSpeedMult = 0.75
SWEP.SightTime = 0.3
SWEP.ShootSpeedMult = 0.95
-- Length --
SWEP.BarrelLength = 24
SWEP.ExtraSightDist = 2
-- Ironsights / Customization / Poses --
SWEP.HolsterPos = Vector(0.5, -2, 1)
SWEP.HolsterAng = Angle(-8.5, 8, -10)
SWEP.HoldtypeHolstered = "passive"
SWEP.HoldtypeActive = "ar2"
SWEP.HoldtypeSights = "rpg"
SWEP.IronSightStruct = {
Pos = Vector(-3.17, -1, 0.6),
Ang = Angle(0.45, 0, 0),
Magnification = 1,
SwitchToSound = "",
ViewModelFOV = 60,
}
SWEP.ActivePos = Vector(-0.3, 1.1, 0.6)
SWEP.ActiveAng = Angle(0, 0, -1)
-- SWEP.SprintPos = Vector(-0.5, 3, 1.5)
-- SWEP.SprintAng = Angle(-12, 15, -15)
SWEP.SprintPos = Vector(0, -3, 0)
SWEP.SprintAng = Angle(0, 0, 0)
-- SWEP.CustomizePos = Vector(6, -2, -1.5)
-- SWEP.CustomizeAng = Angle(16, 28, 0)
SWEP.CustomizePos = Vector(0, 0, 0)
SWEP.CustomizeAng = Angle(0, 0, 0)
SWEP.CrouchPos = Vector(-2, 0.5, 0)
SWEP.CrouchAng = Angle(0, 0, -14)
SWEP.BarrelOffsetHip = Vector(4, 0, -4)
SWEP.MirrorVMWM = true
SWEP.WorldModelOffset = {
pos = Vector(-8, 4, -5),
ang = Angle(-12, 0, 180),
bone = "ValveBiped.Bip01_R_Hand",
scale = 1
}
-- Firing sounds --
local path = ")weapons/arccw_ur/mp5/"
local common = ")/arccw_uc/common/"
SWEP.ShootSound = {
path .. "fire-01.ogg",
path .. "fire-02.ogg",
path .. "fire-03.ogg"
}
SWEP.ShootSoundSilenced = {
path .. "fire-sup-01.ogg",
path .. "fire-sup-02.ogg",
path .. "fire-sup-03.ogg",
path .. "fire-sup-04.ogg",
path .. "fire-sup-05.ogg",
path .. "fire-sup-06.ogg"
}
SWEP.DistantShootSound = nil
SWEP.DistantShootSoundSilenced = nil
SWEP.ShootDrySound = path .. "dryfire.ogg"
local tail = ")/arccw_uc/common/9x19/"
SWEP.DistantShootSoundOutdoors = {
path .. "fire-dist-01.ogg",
path .. "fire-dist-02.ogg",
path .. "fire-dist-03.ogg",
path .. "fire-dist-04.ogg",
path .. "fire-dist-05.ogg",
path .. "fire-dist-06.ogg"
}
SWEP.DistantShootSoundIndoors = {
tail .. "fire-dist-9x19-pistol-int-01.ogg",
tail .. "fire-dist-9x19-pistol-int-02.ogg",
tail .. "fire-dist-9x19-pistol-int-03.ogg",
tail .. "fire-dist-9x19-pistol-int-04.ogg",
tail .. "fire-dist-9x19-pistol-int-05.ogg",
tail .. "fire-dist-9x19-pistol-int-06.ogg"
}
SWEP.DistantShootSoundOutdoorsSilenced = {
common .. "sup-tail-01.ogg",
common .. "sup-tail-02.ogg",
common .. "sup-tail-03.ogg",
common .. "sup-tail-04.ogg",
common .. "sup-tail-05.ogg",
common .. "sup-tail-06.ogg",
common .. "sup-tail-07.ogg",
common .. "sup-tail-08.ogg",
common .. "sup-tail-09.ogg",
common .. "sup-tail-10.ogg"
}
SWEP.DistantShootSoundIndoorsSilenced = {
common .. "fire-dist-int-pistol-light-01.ogg",
common .. "fire-dist-int-pistol-light-02.ogg",
common .. "fire-dist-int-pistol-light-03.ogg",
common .. "fire-dist-int-pistol-light-04.ogg",
common .. "fire-dist-int-pistol-light-05.ogg",
common .. "fire-dist-int-pistol-light-06.ogg"
}
SWEP.DistantShootSoundOutdoorsVolume = 1
SWEP.DistantShootSoundIndoorsVolume = 0.6
SWEP.Hook_AddShootSound = ArcCW.UC.InnyOuty
-- Bodygroups --
SWEP.BulletBones = {
-- [1] = "uzi_b1", [2] = "uzi_b2", [3] = "uzi_b3", [4] = "uzi_b4"
}
--[[
1 --- id: 0
[ name: iron
num: 1
submodels:
0 --- ironSIGHT.smd
2 --- id: 1
[ name: 1
num: 4
submodels:
0 --- mp5UPPER.smd
1 --- mp5sdUPPER.smd
2 --- mp5kUPPER.smd
3 --- swordUPPER.smd
3 --- id: 2
[ name: 2
num: 2
submodels:
0 --- fourLOWER.smd
1 --- sefLOWER.smd
4 --- id: 3
[ name: 3
num: 11
submodels:
0 --- fixedSTOCK.smd
1 --- collapseSTOCK.smd
2 --- collapseSTOCKcoll.smd
3 --- pdwSTOCK.smd
4 --- pdwSTOCKfold.smd
5 --- tacticSTOCK.smd
6 --- tacticSTOCKfold.smd
7 --- futureSTOCK.smd
8 --- futureSTOCKcoll.smd
9 --- futureSTOCKfold.smd
10 --- buttSTOCK.smd
5 --- id: 4
[ name: 4
num: 10
submodels:
0 --- standardHG.smd
1 --- flashHG.smd
2 --- flashmlokHG.smd
3 --- slimHG.smd
4 --- picaHG.smd
5 --- mlokHG.smd
6 --- kurzgripHG.smd
7 --- kurzslimHG.smd
8 --- kurzmlokHG.smd
9 ---
6 --- id: 5
[ name: 5
num: 4
submodels:
0 --- standardMAG.smd
1 --- smallMAG.smd
2 --- straightMAG.smd
3 --- drumMAG.smd
7 --- id: 6
[ name: 6
num: 2
submodels:
0 ---
1 --- mp5RAIL.smd
]]
SWEP.AttachmentElements = {
["ur_mp5_barrel_sd"] = {
VMBodygroups = {
{ind = 1, bg = 1},
{ind = 4, bg = 9},
//{ind = 8, bg = 1},
},
AttPosMods = {
[6] = {
vpos = Vector(0, 1.3, 10),
vang = Angle(90, 0, -90),
},
[7] = {
vpos = Vector(-1.15, 0.3, 8),
vang = Angle(90, 0, 180),
},
},
},
["ur_mp5_barrel_eod"] = {
VMBodygroups = {
{ind = 4, bg = 10},
//{ind = 8, bg = 2},
},
AttPosMods = {
[6] = {
vpos = Vector(0, 1.5, 10),
vang = Angle(90, 0, -90),
},
[7] = {
vpos = Vector(-0.95, 0.3, 8),
vang = Angle(90, 0, 180),
},
}
},
["ur_mp5_barrel_kurz"] = {
VMBodygroups = {
{ind = 1, bg = 2},
{ind = 4, bg = 7},
},
AttPosMods = {[4] = {
vpos = Vector(-0.1, 0.3, 11.5),
vang = Angle(90, 0, -90),
}}
},
["ur_mp5_barrel_swordfish"] = {
VMBodygroups = {
--{ind = 0, bg = 1},
{ind = 1, bg = 3},
{ind = 6, bg = 0},
},
},
["ur_mp5_rail_fg"] = {
VMBodygroups = {{ind = 4, bg = 4}},
},
["ur_mp5_ub_classic"] = {
VMBodygroups = {{ind = 4, bg = 3}},
},
["ur_mp5_ub_surefire"] = {
VMBodygroups = {{ind = 4, bg = 1}},
},
["ur_mp5_ub_surelock"] = {
VMBodygroups = {{ind = 4, bg = 2}},
},
["ur_mp5_ub_kurzgrip"] = {
VMBodygroups = {{ind = 4, bg = 6}},
},
["ur_mp5_ub_kurzmlok"] = {
VMBodygroups = {{ind = 4, bg = 8}},
},
["ur_mp5_ub_wood"] = {
VMBodygroups = {{ind = 4, bg = 3}}, -- insert wood handguard here
},
["ur_mp5_mag_15"] = {
VMBodygroups = {{ind = 5, bg = 1}},
},
["ur_mp5_mag_40"] = {
VMBodygroups = {{ind = 5, bg = 3}},
},
["ur_mp5_mag_50"] = {
VMBodygroups = {{ind = 5, bg = 3}},
},
["ur_mp5_mag_waffle"] = {
VMBodygroups = {{ind = 5, bg = 2}},
},
["ur_mp5_rail_optic"] = {
VMBodygroups = {{ind = 6, bg = 1}},
},
["ur_mp5_clamp"] = {
VMBodygroups = {{ind = 5, bg = 1}},
},
["receiver_lower"] = {
VMBodygroups = {{ind = 2, bg = 1}},
},
["receiver_lower_semi"] = {
VMBodygroups = {{ind = 2, bg = 2}},
},
["receiver_lower_0"] = {
VMBodygroups = {{ind = 2, bg = 0}},
},
["receiver_upper_0"] = {
VMBodygroups = {{ind = 7, bg = 0}},
},
["stock_a3"] = {
VMBodygroups = {
{ind = 3, bg = 1},
},
},
["stock_a3_folded"] = {
VMBodygroups = {
{ind = 3, bg = 2},
},
},
["ur_mp5_stock_remove"] = {
VMBodygroups = {{ind = 3, bg = 10}},
},
["ur_mp5_stock_wood"] = {
-- VMBodygroups = {{ind = 0, bg = 4}},
-- Make this part of the VMSkin
},
["stock_pdw"] = {
VMBodygroups = {{ind = 3, bg = 3}},
},
["stock_pdw_folded"] = {
VMBodygroups = {{ind = 3, bg = 4}},
},
["stock_ump"] = {
VMBodygroups = {{ind = 3, bg = 5}},
},
["stock_ump_folded"] = {
VMBodygroups = {{ind = 3, bg = 6}},
},
["stock_future"] = {
VMBodygroups = {{ind = 3, bg = 7}},
},
["stock_future_folded"] = {
VMBodygroups = {{ind = 3, bg = 8}},
},
["ur_mp5_precision_irons"] = {
VMBodygroups = {
{ind = 0, bg = 2},
{ind = 6, bg = 0},
},
},
}
SWEP.Hook_ModifyBodygroups = function(wep, data)
local atts = wep.Attachments
local vm = data.vm
if IsValid(vm) then
local barr = string.Replace(atts[2].Installed or "default","ur_mp5_barrel_","")
local hg = string.Replace(atts[5].Installed or "default","ur_mp5_ub_","")
if atts[6].Installed or atts[7].Installed then
if barr == "sd" then
vm:SetBodygroup(8, 1)
elseif barr == "eod" then
vm:SetBodygroup(8, 2)
elseif hg == "default" or hg == "classic" then
vm:SetBodygroup(4, 4)
vm:SetBodygroup(8, 0)
else
vm:SetBodygroup(8, 0)
end
else
vm:SetBodygroup(8, 0)
end
if hg == "mlok" then
if barr == "kurz" then
vm:SetBodygroup(4,8)
else
vm:SetBodygroup(4,5)
end
end
if barr == "sword" then
vm:SetBodygroup(0,(atts[1].Installed and 3) or 1)
end
end
end
SWEP.Hook_NameChange = function(wep,name)
local atts = wep.Attachments
local barr = string.Replace(atts[2].Installed or "default","ur_mp5_barrel_","")
local cal = string.Replace(atts[3].Installed or "default","ur_mp5_caliber_","")
local stock = string.Replace(atts[8].Installed or "default","ur_mp5_stock_","")
local fakeNames = !GetConVar("arccw_truenames"):GetBool()
local defaultCals = {
["default"] = true,
["noburst"] = true,
["semi"] = true
}
local start = "MP5"
local mid = "A"
local num = "4"
if fakeNames then
start = "PK5"
mid = "-"
end
if cal == "semi" or atts[12].Installed == "uc_fg_civvy" then
if fakeNames then
return "PK5-CIV"
else
if barr == "long" or barr == "sd" then
start = "HK94" -- I know how prolific civies can get with their gunbuilds, so the nonsensical names will continue
else
return "SP5" .. ((barr == "kurz" and "K-PDW") or "")
end
end
end
if !defaultCals[cal] then
if barr == "sd" then
num = "SD"
else
num = ""
end
if cal == "10auto" then
mid = "/10"
elseif cal == "40sw" then
mid = "/40"
elseif cal == "22lr" then
if barr == "sd" then
mid = "SD"
num = " .22 LR"
else
mid = " .22 LR"
end
end
else
if barr == "kurz" then
if fakeNames then
mid = "C"
else
mid = "K"
end
if stock == "pdw" then
num = "-PDW"
elseif cal == "default" then
if fakeNames then
num = "-4"
else
num = "A4"
end
else
num = ""
end
else
if barr == "sd" then
mid = "SD"
end
if cal == "noburst" or cal == "semi" then
if stock == "a3" then
num = "3"
elseif stock == "none" then
num = "1"
else
num = "2"
end
else
if stock == "a3" then
if barr == "sd" then
num = "6"
else
num = "5"
end
elseif stock == "none" then
if barr == "sd" then
num = "4"
end
else
if barr == "sd" then
num = "5"
end
end
end
end
end
return start .. mid .. num
end
-- Animations --
SWEP.Hook_Think = ArcCW.UC.ADSReload
local ratel = {common .. "rattle1.ogg", common .. "rattle2.ogg", common .. "rattle3.ogg"}
local rottle = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}
local rutle = {common .. "movement-smg-03.ogg",common .. "movement-smg-04.ogg"}
SWEP.Animations = {
["idle"] = {
Source = "idle",
},
-- ["idle_empty"] = {
-- Source = "idle",
-- },
["ready"] = {
Source = "ready",
LHIK = true,
LHIKIn = 0.4,
LHIKEaseIn = 0.4,
LHIKEaseOut = 0.15,
LHIKOut = 0.6,
SoundTable = {
{s = rottle, t = 0.15},
{s = path .. "rack1.ogg", t = 0.15, c = ci},
{s = path .. "rack2.ogg", t = 0.38, c = ci},
{s = ratel, t = 0.75},
}
},
["draw"] = {
Source = "draw",
SoundTable = ArcCW.UC.DrawSounds,
},
-- ["draw_empty"] = {
-- Source = "draw_empty",
-- SoundTable = ArcCW.UC.DrawSounds,
-- },
["holster"] = {
Source = "holster",
--Time = 0.25,
SoundTable = ArcCW.UC.HolsterSounds,
},
-- ["holster_empty"] = {
-- Source = "holster_empty",
-- --Time = 0.25,
-- SoundTable = ArcCW.UC.HolsterSounds,
-- },
["fire"] = {
Source = "fire",
Time = 13 / 30,
ShellEjectAt = 0.03,
SoundTable = {{ s = {path .. "mech-01.ogg", path .. "mech-02.ogg", path .. "mech-03.ogg", path .. "mech-04.ogg", path .. "mech-05.ogg", path .. "mech-06.ogg"}, t = 0, v = 0.25 }},
},
-- ["fire_empty"] = {
-- Source = "fire",
-- Time = 13 / 30,
-- ShellEjectAt = 0.03,
-- SoundTable = {{ s = {path .. "mech-01.ogg", path .. "mech-02.ogg", path .. "mech-03.ogg", path .. "mech-04.ogg", path .. "mech-05.ogg", path .. "mech-06.ogg"}, t = 0 }},
-- },
["fire_iron"] = {
Source = "idle",
Time = 13 / 30,
ShellEjectAt = 0.03,
SoundTable = {
{s = common .. "common_mech_light.ogg", t = 0, v = 0.25},
{ s = {path .. "mech-01.ogg", path .. "mech-02.ogg", path .. "mech-03.ogg", path .. "mech-04.ogg", path .. "mech-05.ogg", path .. "mech-06.ogg"}, t = 0 }
},
},
-- ["fire_empty_iron"] = {
-- Source = "idle",
-- Time = 13 / 30,
-- ShellEjectAt = 0.03,
-- SoundTable = {{ s = {path .. "mech-01.ogg", path .. "mech-02.ogg", path .. "mech-03.ogg", path .. "mech-04.ogg", path .. "mech-05.ogg", path .. "mech-06.ogg"}, t = 0 }},
-- },
["fix"] = {
Source = "fix",
Time = 40 / 30,
LHIK = true,
LHIKIn = 0.4,
LHIKEaseIn = 0.4,
LHIKEaseOut = 0.15,
LHIKOut = 0.4,
ShellEjectAt = 0.36,
SoundTable = {
{s = rottle, t = 0.15},
{s = path .. "rack1.ogg", t = 0.27, c = ci},
{s = path .. "rack2.ogg", t = 0.5, c = ci},
},
},
-- 30 Round Reloads --
["reload"] = {
Source = "reload",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
-- Time = 2,
MinProgress = 1.2,
LastClip1OutTime = 2,
LHIK = true,
LHIKIn = 0.2,
LHIKEaseIn = 0.2,
LHIKEaseOut = 0.15,
LHIKOut = 0.6,
SoundTable = {
{s = rottle, t = 0},
{s = common .. "magpouch.ogg", t = 0.05},
{s = path .. "magout.ogg", t = 0.4, c = ci},
{s = rottle, t = 0.25},
{s = path .. "magin.ogg", t = 0.61, c = ci},
{s = common .. "magpouchin.ogg", t = 1.25},
{s = ratel, t = 1.55},
{s = common .. "shoulder.ogg", t = 1.75},
},
},
["reload_empty"] = {
Source = "reload_empty",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
-- Time = 90 / 30,
MinProgress = 2.2,
LastClip1OutTime = 1.8,
LHIK = true,
LHIKIn = 0.3,
LHIKEaseIn = 0.3,
LHIKEaseOut = 0.2,
LHIKOut = 0.55,
SoundTable = {
{s = rottle, t = 0},
{s = path .. "chback.ogg", t = 0.045, c = ci},
{s = path .. "chlock.ogg", t = 0.18, c = ci},
{s = common .. "magpouch.ogg", t = 0.4},
{s = path .. "magout.ogg", t = 0.86, c = ci},
{s = rottle, t = 0.25},
{s = path .. "magin.ogg", t = 1.13, c = ci},
{s = common .. "magdrop_smg.ogg", t = 1.5},
{s = rottle, t = 1.25},
{s = path .. "chamber.ogg", t = 2.05, c = ci},
{s = ratel, t = 2.3},
{s = common .. "shoulder.ogg", t = 2.45},
},
},
["reload_kurz"] = {
Source = "reload",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
-- Time = 2,
MinProgress = 1.2,
LastClip1OutTime = 2,
LHIK = true,
LHIKIn = 0.2,
LHIKEaseIn = 0.2,
LHIKEaseOut = 0.15,
LHIKOut = 0.6,
SoundTable = {
{s = rottle, t = 0},
{s = common .. "magpouch.ogg", t = 0.05},
{s = path .. "magout.ogg", t = 0.4, c = ci},
{s = rottle, t = 0.25},
{s = path .. "magin.ogg", t = 0.63, c = ci},
{s = common .. "magpouchin.ogg", t = 1.25},
{s = ratel, t = 1.55},
{s = common .. "shoulder.ogg", t = 1.5},
},
},
["reload_empty_kurz"] = {
Source = "reload_empty_kurz",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
-- Time = 90 / 30,
MinProgress = 2.2,
LastClip1OutTime = 1.8,
LHIK = true,
LHIKIn = 0.3,
LHIKEaseIn = 0.3,
LHIKEaseOut = 0.2,
LHIKOut = 0.55,
SoundTable = {
{s = rottle, t = 0},
{s = path .. "chback.ogg", t = 0.066, c = ci},
{s = path .. "chlock.ogg", t = 0.2, c = ci},
{s = common .. "magpouch.ogg", t = 0.4},
{s = path .. "magout.ogg", t = 0.86, c = ci},
{s = rottle, t = 0.25},
{s = path .. "magin.ogg", t = 1.13, c = ci},
{s = common .. "magdrop_smg.ogg", t = 1.5},
{s = rottle, t = 1.25},
{s = path .. "chamber.ogg", t = 2.1, c = ci},
{s = ratel, t = 2.4},
{s = common .. "shoulder.ogg", t = 2.6},
},
},
-- 15 Round Reloads --
["reload_15"] = {
Source = "reload",--"reload_15",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
-- Time = 67 / 30,
MinProgress = 1.2,
LastClip1OutTime = 67 / 30,
LHIK = true,
LHIKIn = 0.2,
LHIKEaseIn = 0.2,
LHIKEaseOut = 0.15,
LHIKOut = 0.6,
SoundTable = {
{s = rottle, t = 0},
{s = common .. "magpouch.ogg", t = 0.05},
{s = path .. "magout.ogg", t = 0.25, c = ci},
{s = rottle, t = 0.25},
{s = path .. "magin.ogg", t = 0.5, c = ci},
{s = common .. "magpouchin.ogg", t = 1.25},
{s = ratel, t = 1.55},
{s = common .. "shoulder.ogg", t = 1.75},
},
},
["reload_empty_15"] = {
Source = "reload_empty",--"reload_empty_15",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
-- Time = 90 / 30,
MinProgress = 2.2,
LastClip1OutTime = 1.8,
LHIK = true,
LHIKIn = 0.3,
LHIKEaseIn = 0.3,
LHIKEaseOut = 0.2,
LHIKOut = 0.55,
SoundTable = {
{s = rottle, t = 0},
{s = path .. "chback.ogg", t = 0.1, c = ci},
{s = path .. "chlock.ogg", t = 0.19, c = ci},
{s = common .. "magpouch.ogg", t = 0.4},
{s = path .. "magout.ogg", t = .9, c = ci},
{s = rottle, t = 0.25},
{s = path .. "magin.ogg", t = 1.2, c = ci},
{s = common .. "magdrop_smg.ogg", t = 1.5},
{s = rottle, t = 1.25},
{s = path .. "chamber.ogg", t = 2.13, c = ci},
{s = ratel, t = 2.4},
{s = common .. "shoulder.ogg", t = 2.45},
},
},
["reload_empty_kurz_15"] = {
Source = "reload_empty_kurz",--"reload_empty_15",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
-- Time = 90 / 30,
MinProgress = 2.2,
LastClip1OutTime = 1.8,
LHIK = true,
LHIKIn = 0.3,
LHIKEaseIn = 0.3,
LHIKEaseOut = 0.2,
LHIKOut = 0.55,
SoundTable = {
{s = rottle, t = 0},
{s = path .. "chback.ogg", t = 0.1, c = ci},
{s = path .. "chlock.ogg", t = 0.19, c = ci},
{s = common .. "magpouch.ogg", t = 0.4},
{s = path .. "magout.ogg", t = .9, c = ci},
{s = rottle, t = 0.25},
{s = path .. "magin.ogg", t = 1.2, c = ci},
{s = common .. "magdrop_smg.ogg", t = 1.5},
{s = rottle, t = 1.25},
{s = path .. "chamber.ogg", t = 2.13, c = ci},
{s = ratel, t = 2.4},
{s = common .. "shoulder.ogg", t = 2.6},
},
},
-- 40 Round Reloads --
["reload_40"] = {
Source = "reload",--"reload_40",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
-- Time = 67 / 30,
MinProgress = 1.2,
LastClip1OutTime = 67 / 30,
LHIK = true,
LHIKIn = 0.4,
LHIKEaseIn = 0.4,
LHIKEaseOut = 0.15,
LHIKOut = 0.6,
SoundTable = {
{s = rottle, t = 0},
{s = common .. "magpouch.ogg", t = 0.05},
{s = path .. "magout.ogg", t = 0.25, c = ci},
{s = rottle, t = 0.25},
{s = path .. "magin.ogg", t = 0.5, c = ci},
{s = common .. "magpouchin.ogg", t = 1.25},
{s = ratel, t = 1.55},
{s = common .. "shoulder.ogg", t = 1.5},
},
},
["reload_empty_40"] = {
Source = "reload_empty",--"reload_empty_40",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
-- Time = 90 / 30,
MinProgress = 2.2,
LastClip1OutTime = 1.8,
LHIK = true,
LHIKIn = 0.3,
LHIKEaseIn = 0.3,
LHIKEaseOut = 0.2,
LHIKOut = 0.55,
SoundTable = {
{s = rottle, t = 0},
{s = path .. "chback.ogg", t = 0.1, c = ci},
{s = path .. "chlock.ogg", t = 0.19, c = ci},
{s = common .. "magpouch.ogg", t = 0.4},
{s = path .. "magout.ogg", t = .9, c = ci},
{s = rottle, t = 0.25},
{s = path .. "magin.ogg", t = 1.2, c = ci},
{s = common .. "magdrop_smg.ogg", t = 1.5},
{s = rottle, t = 1.25},
{s = path .. "chamber.ogg", t = 2.13, c = ci},
{s = ratel, t = 2.4},
{s = common .. "shoulder.ogg", t = 2.6},
},
},
["reload_empty_kurz_40"] = {
Source = "reload_empty_kurz",--"reload_empty_40",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
-- Time = 90 / 30,
MinProgress = 2.2,
LastClip1OutTime = 1.8,
LHIK = true,
LHIKIn = 0.3,
LHIKEaseIn = 0.3,
LHIKEaseOut = 0.2,
LHIKOut = 0.55,
SoundTable = {
{s = rottle, t = 0},
{s = path .. "chback.ogg", t = 0.1, c = ci},
{s = path .. "chlock.ogg", t = 0.19, c = ci},
{s = common .. "magpouch.ogg", t = 0.4},
{s = path .. "magout.ogg", t = .9, c = ci},
{s = rottle, t = 0.25},
{s = path .. "magin.ogg", t = 1.2, c = ci},
{s = common .. "magdrop_smg.ogg", t = 1.5},
{s = rottle, t = 1.25},
{s = path .. "chamber.ogg", t = 2.13, c = ci},
{s = ratel, t = 2.4},
{s = common .. "shoulder.ogg", t = 2.6},
},
},
-- 100 Round Reloads --
["reload_drum"] = {
Source = "reload_drum",--"reload_50",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
-- Time = 67 / 30,
MinProgress = 1.6,
LastClip1OutTime = 1,
LHIK = true,
LHIKIn = 0.4,
LHIKEaseIn = 0.4,
LHIKEaseOut = 0.15,
LHIKOut = 0.9,
SoundTable = {
{s = rottle, t = 0},
{s = path .. "magout.ogg", t = 0.32, c = ci},
{s = rottle, t = 0.25},
{s = rottle, t = 0.75},
{s = path .. "magin.ogg", t = 1.05, c = ci},
{s = common .. "cloth_4.ogg", t = 1.65},
{s = path .. "magtap.ogg", t = 1.755, c = ci},
{s = common .. "shoulder.ogg", t = 2.25},
},
},
["reload_empty_drum"] = {
Source = "reload_empty_drum",--"reload_empty_50",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
-- Time = 90 / 30,
MinProgress = 2.4,
LastClip1OutTime = 1.8,
LHIK = true,
LHIKIn = 0.3,
LHIKEaseIn = 0.3,
LHIKEaseOut = 0.2,
LHIKOut = 1,
SoundTable = {
{s = rottle, t = 0},
{s = path .. "magout.ogg", t = 0.3, c = ci},
{s = rottle, t = 0.25},
{s = rottle, t = 0.75},
{s = common .. "magdrop.ogg", t = 1.0},
{s = path .. "magin.ogg", t = 1.05, c = ci},
{s = common .. "cloth_4.ogg", t = 1.65},
{s = path .. "magtap.ogg", t = 1.755, c = ci},
{s = path .. "rack1.ogg", t = 2.3, c = ci},
{s = path .. "rack2.ogg", t = 2.5, c = ci},
{s = common .. "shoulder.ogg", t = 3.0},
},
},
["enter_inspect"] = {
Source = "inspect_enter",
-- time = 35 / 60,
LHIK = false,
LHIKIn = 0,
LHIKOut = 2.5,
SoundTable = {
{s = rottle, t = 0},
{s = common .. "movement-smg-03.ogg", t = 0},
},
},
["idle_inspect"] = {
Source = "inspect_loop",
-- time = 72 / 60,
LHIK = false,
LHIKIn = 0,
LHIKOut = 999, -- maybe im dumb
},
["exit_inspect"] = {
Source = "inspect_exit",
-- time = 66 / 60,
LHIK = false,
LHIKIn = 0,
LHIKOut = 999, -- maybe im dumb
SoundTable = {
{s = common .. "movement-smg-01.ogg", t = 0.2},
{s = rottle, t = 0.25},
{s = rottle, t = 1.2},
{s = common .. "movement-smg-04.ogg", t = 1.25},
},
},
["enter_sprint"] = {
Source = "sprint_enter",
LHIK = true,
LHIKIn = 0.2,
LHIKEaseIn = 0.2,
LHIKOut = 0,
Time = .5,
},
["idle_sprint"] = {
Source = "sprint_loop",
LHIK = true,
LHIKIn = 0,
LHIKOut = 0,
},
["exit_sprint"] = {
Source = "sprint_exit",
LHIK = true,
LHIKIn = 0,
LHIKEaseOut = 0.4,
LHIKOut = 0.5,
Time = .5,
},
}
SWEP.AutosolveSourceSeq = "idle"
SWEP.Attachments = {
{
PrintName = "Optic",
DefaultAttName = "Iron Sights",
Slot = {"optic_lp","optic","ur_mp5_optic"}, -- ,"optic"
Bone = "body",
Offset = {
vpos = Vector(-0.1, -1.6, 3),
vang = Angle(90, 0, -90),
},
CorrectivePos = Vector(-0.09, 0, 0),
CorrectiveAng = Angle(1, 0.6, -4.0),
InstalledEles = {"ur_mp5_rail_optic"}
},
{
PrintName = "Upper Receiver",
DefaultAttName = "9\" Standard Upper",
DefaultAttIcon = Material("entities/att/ur_mp5/upper_std.png", "smooth mips"),
Slot = "ur_mp5_barrel",
Bone = "body",
Offset = {
vpos = Vector(2.6, -3.7, -17.3),
vang = Angle(90, 0, -90),
},
},
{
PrintName = "Lower Receiver",
DefaultAttName = "Navy Lower",
DefaultAttIcon = Material("entities/att/ur_mp5/grip.png", "smooth mips"),
Slot = "ur_mp5_caliber",
DefaultEles = {"receiver_lower_0"}
},
{
PrintName = "Muzzle",
DefaultAttName = "Standard Muzzle",
Slot = {"muzzle"},
Bone = "body",
Offset = {
vpos = Vector(0, 0.3, 14.8),
vang = Angle(90, 0, -90),
},
ExcludeFlags = {"barrel_sd","barrel_eod","barrel_sword"}
},
{
PrintName = "Handguard",
DefaultAttName = "Tropical Handguard",
DefaultAttIcon = Material("entities/att/ur_mp5/hg_std.png", "smooth mips"),
Slot = {"ur_mp5_hg"},
ExcludeFlags = {"barrel_sd", "barrel_eod"},
Bone = "body",
Offset = {
vpos = Vector(0, .9, 10),
vang = Angle(90, 0, -90),
},
--VMScale = Vector(.8, .8, .8),
},
{
PrintName = "Underbarrel",
Slot = {"foregrip"},
Bone = "body",
Offset = {
vpos = Vector(0, .9, 10),
vang = Angle(90, 0, -90),
},
--VMScale = Vector(.8, .8, .8),
--InstalledEles = {"ur_mp5_rail_fg"},
GivesFlags = {"mp5_rail"},
ExcludeFlags = {"mp5_badhg","mp5_kurz"},
MergeSlots = {15},
},
{
PrintName = "Tactical",
Slot = "tac",
Bone = "body",
Offset = {
vpos = Vector(-0.9, 0.2, 8),
vang = Angle(90, 0, 180),
},
VMScale = Vector(.8,.8,.8),
--InstalledEles = {"ur_mp5_clamp"}
GivesFlags = {"mp5_rail"},
},
{
PrintName = "Stock",
Slot = {"ur_mp5_stock"},
DefaultAttName = "Full Stock",
DefaultAttIcon = Material("entities/att/ur_mp5/stock_std.png", "smooth mips"),
},
{
PrintName = "Magazine",
Slot = {"ur_mp5_mag"},
DefaultAttName = "30-Round Mag",
DefaultAttIcon = Material("entities/att/ur_mp5/mag30.png", "smooth mips"),
ExcludeFlags = {"ur_mp5_cal_40sw","ur_mp5_cal_10mm"}
},
{
PrintName = "Ammo Type",
DefaultAttName = "\"FMJ\" Full Metal Jacket",
DefaultAttIcon = Material("entities/att/arccw_uc_ammo_generic.png", "mips smooth"),
Slot = "uc_ammo",
},
{
PrintName = "Powder Load",
Slot = "uc_powder",
DefaultAttName = "Standard Load",
ExcludeFlags = {"barrel_sd"}
},
{
PrintName = "Training Package",
Slot = "uc_tp",
DefaultAttName = "Basic Training"
},
{
PrintName = "Internals",
Slot = "uc_fg", -- Fire group
DefaultAttName = "Standard Internals"
},
{
PrintName = "Charm",
Slot = {"charm", "fml_charm", "mp5_charm"},
FreeSlot = true,
Bone = "Body",
Offset = {
vpos = Vector(0.6, 1.1, 2.5),
vang = Angle(90, 0, -90),
},
},
{
PrintName = "M203 slot",
Slot = "uc_ubgl",
Bone = "Body",
Offset = {
vpos = Vector(0, 0, 7.9),
vang = Angle(90, 0, -90),
},
Hidden = true,
--RequireFlags = {"barrel_eod"},
ExcludeFlags = {"mp5_badhg","mp5_kurz"},
}
}
-- SWEP.AttachmentOverrides = {
-- ["uc_grip_handstop"] = {
-- LHIK = false
-- }
-- } -- THIS SHIT DOESN'T WORK