Renewal/lua/weapons/arccw_ur_g3.lua

1168 lines
36 KiB
Lua

SWEP.Base = "arccw_base"
SWEP.Spawnable = true -- this obviously has to be set to true
SWEP.Category = "ArcCW - Urban Coalition" -- edit this if you like
SWEP.UC_CategoryPack = "2Urban Renewal"
SWEP.AdminOnly = false
SWEP.PrintName = "AG58"
SWEP.TrueName = "G3A3"
SWEP.Trivia_Class = "Battle Rifle"
SWEP.Trivia_Desc = [[Heckler & Koch's earliest major weapon design, conceived in collaboration with Spanish research group CETME. As a pioneer of the roller-delay system, its success within the Bundeswehr inspired HK to derive subsequent designs from its layout, including the MP5 submachine gun.
Well known for its excellent accuracy and range, but its powerful cartridge makes sustained fire difficult.]]
SWEP.Trivia_Manufacturer = "Crowdley & Nelson"
SWEP.Trivia_Calibre = "7.62x51mm NATO"
SWEP.Trivia_Mechanism = "Roller-Delayed Blowback"
SWEP.Trivia_Country = "Germany"
SWEP.Trivia_Year = 1958
if GetConVar("arccw_truenames"):GetBool() then
SWEP.PrintName = SWEP.TrueName
SWEP.Trivia_Manufacturer = "Heckler & Koch"
end
SWEP.Slot = 2
SWEP.CamAttachment = 3
SWEP.UseHands = true
SWEP.ViewModel = "models/weapons/arccw/c_ur_g3.mdl"
SWEP.WorldModel = "models/weapons/arccw/c_ur_g3.mdl"
SWEP.ViewModelFOV = 70
SWEP.DefaultBodygroups = "000000000000"
-- Damage --
SWEP.Damage = 65
SWEP.DamageMin = 35
SWEP.RangeMin = 50
SWEP.Range = 400
SWEP.Penetration = 20
SWEP.DamageType = DMG_BULLET
SWEP.ShootEntity = nil
SWEP.MuzzleVelocity = 715
SWEP.PhysBulletMuzzleVelocity = 715
SWEP.BodyDamageMults = ArcCW.UC.BodyDamageMults
-- Mag size --
SWEP.ChamberSize = 1
SWEP.Primary.ClipSize = 20
-- Recoil --
SWEP.Recoil = 1.4
SWEP.RecoilSide = 0.6
SWEP.RecoilRise = 0.6
SWEP.RecoilPunch = 1
SWEP.VisualRecoilMult = 1
SWEP.MaxRecoilBlowback = 1
SWEP.MaxRecoilPunch = 1
SWEP.RecoilPunchBack = 2
SWEP.Sway = 0.4
-- Firerate / Firemodes --
SWEP.Delay = 60 / 520
SWEP.Num = 1
SWEP.Firemodes = {
{
Mode = 2,
},
{
Mode = 1,
},
{
Mode = 0,
},
}
SWEP.ShootPitch = 100
SWEP.ShootVol = 120
SWEP.ProceduralRegularFire = false
SWEP.ProceduralIronFire = false
SWEP.ReloadInSights = true
-- NPC --
SWEP.NPCWeaponType = "weapon_ar2"
SWEP.NPCWeight = 60
-- Accuracy --
SWEP.AccuracyMOA = 2
SWEP.HipDispersion = 900
SWEP.MoveDispersion = 200
SWEP.JumpDispersion = 1000
SWEP.Primary.Ammo = "ar2"
SWEP.MagID = "ak"
SWEP.HeatCapacity = 75
SWEP.HeatDissipation = 15
SWEP.HeatDelayTime = 3
-- SWEP.Malfunction = true
SWEP.MalfunctionMean = 200
--SWEP.MeleeTime = 1.5
-- Speed multipliers --
SWEP.SpeedMult = 0.9
SWEP.SightedSpeedMult = 0.75
SWEP.SightTime = 0.35
SWEP.ShootSpeedMult = 0.75
local path = ")weapons/arccw_ur/g3/"
local path1 = ")weapons/arccw_ur/mp5/"
local common = ")/arccw_uc/common/"
local rottle = {common .. "cloth_1.ogg", common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}
local ratel = {common .. "rattle1.ogg", common .. "rattle2.ogg", common .. "rattle3.ogg"}
--SWEP.FirstShootSound = path .. "fire_first.ogg"
SWEP.ShootSound = {
path .. "fire-01.ogg",
path .. "fire-02.ogg",
path .. "fire-03.ogg",
path .. "fire-04.ogg",
path .. "fire-05.ogg",
path .. "fire-06.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/308/"
SWEP.DistantShootSoundOutdoors = {
tail .. "fire-dist-308-rif-ext-01.ogg",
tail .. "fire-dist-308-rif-ext-02.ogg",
tail .. "fire-dist-308-rif-ext-03.ogg",
tail .. "fire-dist-308-rif-ext-04.ogg",
tail .. "fire-dist-308-rif-ext-05.ogg",
tail .. "fire-dist-308-rif-ext-06.ogg"
}
SWEP.DistantShootSoundIndoors = {
tail .. "fire-dist-308-rif-int-01.ogg",
tail .. "fire-dist-308-rif-int-02.ogg",
tail .. "fire-dist-308-rif-int-03.ogg",
tail .. "fire-dist-308-rif-int-04.ogg",
tail .. "fire-dist-308-rif-int-05.ogg",
tail .. "fire-dist-308-rif-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 .. "sup_tail.ogg"
}
SWEP.DistantShootSoundOutdoorsVolume = 1
SWEP.DistantShootSoundIndoorsVolume = 1
SWEP.Hook_AddShootSound = ArcCW.UC.InnyOuty
SWEP.MuzzleEffect = "muzzleflash_6"
SWEP.ShellEffect = "arccw_uc_shelleffect"
SWEP.ShellModel = "models/weapons/arccw/uc_shells/556x45.mdl"
SWEP.ShellScale = 1.145
SWEP.ShellPitch = 90
SWEP.ShellScale = 1
SWEP.ShellRotateAngle = Angle(0, 0, 0)
SWEP.UC_ShellColor = Color(0.7*255, 0.2*255, 0.2*255)
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
SWEP.BulletBones = {
--[1] = "tag_mag2",
}
SWEP.IronSightStruct = {
Pos = Vector(-2.3, -1, 0.9),
Ang = Angle(0, 0.02, 0),
Magnification = 1.1,
ViewModelFOV = 65,
SwitchToSound = "", -- sound that plays when switching to this sight
CrosshairInSights = false
}
SWEP.LaserOffsetAngle = Angle(0, 0, 0)
SWEP.LaserIronsAngle = Angle(0, 0, 0)
SWEP.HoldtypeHolstered = "passive"
SWEP.HoldtypeActive = "ar2"
SWEP.HoldtypeSights = "rpg"
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
SWEP.ActivePos = Vector(0.3, 1, 0.8)
SWEP.ActiveAng = Angle(0, 0, 0)
SWEP.SprintPos = Vector(0.5, 1, 0.5)
SWEP.SprintAng = Angle(-8.5, 15, -10)
SWEP.CrouchPos = Vector(-0.7, 0.6, 0)
SWEP.CrouchAng = Angle(0, 0, -14)
SWEP.HolsterPos = Vector(-1, -1, 1.2)
SWEP.HolsterAng = Angle(-15, 8, -10)
SWEP.BarrelOffsetSighted = Vector(0, 0, 0)
SWEP.BarrelOffsetHip = Vector(0, 0, 0)
-- SWEP.CustomizePos = Vector(10.5, 4, 1)
-- SWEP.CustomizeAng = Angle(8, 30, 15)
SWEP.CustomizePos = Vector(0, 0, 0)
SWEP.CustomizeAng = Angle(0, 0, 0)
SWEP.BarrelLength = 24
SWEP.AttachmentElements = {
["ur_g3_skin_wood"] = { VMSkin = 1 },
["ur_g3_skin_olive"] = { VMSkin = 2 },
["ur_g3_skin_tan"] = { VMSkin = 3 },
["ur_g3_skin_custom"] = { VMSkin = 4 },
["stock_g3_collapsible"] = {
VMBodygroups = {
{ind = 5, bg = 2},
}
},
["stock_g3_collapsed"] = {
VMBodygroups = {
{ind = 5, bg = 3},
}
},
["ur_g3_stock_psg"] = {
VMBodygroups = {
{ind = 5, bg = 4},
}
},
["ur_g3_stock_sg"] = {
VMBodygroups = {
{ind = 5, bg = 1},
}
},
["ur_g3_stock_rucar"] = {
VMBodygroups = {
{ind = 5, bg = 5},
}
},
["ur_g3_rec_hk33"] = {
VMBodygroups = {
{ind = 0, bg = 1},
{ind = 3, bg = 1},
{ind = 4, bg = 4},
},
},
["ur_g3_rec_psg"] = {
VMBodygroups = {
-- {ind = 1, bg = 1},
{ind = 3, bg = 2},
},
NameChange = "PMR-2",
TrueNameChange = "PSG1",
},
["ur_g3_mag_10"] = {
VMBodygroups = {
{ind = 4, bg = 1},
}
},
["ur_g3_mag_50"] = {
VMBodygroups = {
{ind = 4, bg = 2},
}
},
["ur_g3_mag_20_556"] = {
VMBodygroups = {
{ind = 4, bg = 3},
}
},
["ur_g3_mag_40_556"] = {
VMBodygroups = {
{ind = 4, bg = 5},
}
},
["ur_g3_barrel_12"] = {
VMBodygroups = {
{ind = 2, bg = 1},
},
AttPosMods = {
[5] = {
vpos = Vector(0, 0.06, 17.7),
vang = Angle(90, 0, -90),
},
[7] = {
vpos = Vector(-0.94, 0.2, 14),
vang = Angle(90, 0, 180),
},
}
},
["ur_g3_barrel_15"] = {
VMBodygroups = {
{ind = 2, bg = 4},
},
AttPosMods = {
[5] = {
vpos = Vector(0, 0.06, 20),
vang = Angle(90, 0, -90),
},
[7] = {
vpos = Vector(-0.94, 0.2, 14),
vang = Angle(90, 0, 180),
},
}
},
["ur_g3_barrel_8"] = {
VMBodygroups = {
{ind = 2, bg = 2},
},
AttPosMods = {
[5] = {
vpos = Vector(0, 0.06, 13.7),
vang = Angle(90, 0, -90),
},
[7] = {
vpos = Vector(-0.94, 0.2, 11),
vang = Angle(90, 0, 180),
},
}
},
["ur_g3_barrel_26"] = {
VMBodygroups = {
{ind = 2, bg = 3},
},
AttPosMods = {
[5] = {
vpos = Vector(0, 0.06, 29.7),
vang = Angle(90, 0, -90),
},
[7] = {
vpos = Vector(-0.94, 0.2, 17),
vang = Angle(90, 0, 180),
},
}
},
["ur_g3_hg_slim"] = {
AttPosMods = {
[6] = {
vpos = Vector(0, 0.66, 9),
vang = Angle(90, 0, -90),
},
}
},
["ur_g3_hg_pica"] = {
AttPosMods = {
[6] = {
vpos = Vector(0, 0.75, 9.2),
vang = Angle(90, 0, -90),
},
}
},
}
local hgbg = {
["ur_g3_hg_slim"] = 1,
["ur_g3_hg_pica"] = 2,
["ur_mp5_ub_mlok"] = 3,
["ur_mp5_ub_surefire"] = 4,
}
local muzzlebg = {
["ur_g3_barrel_8"] = 2,
["ur_g3_barrel_12"] = 1,
["ur_g3_barrel_15"] = 4,
["ur_g3_barrel_26"] = 3,
["default"] = 0,
}
local opticbg = {
["ur_g3_optic_psg1"] = 2,
["ur_g3_optic_sg1"] = 3,
}
local ubmountbg = {
["ur_g3_hg_slim"] = 2,
["ur_g3_hg_pica"] = 0,
}
SWEP.Hook_ModifyBodygroups = function(wep,data)
local vm = data.vm
if !IsValid(vm) then return end
local atts = wep.Attachments
local barrel = atts[2].Installed or "default"
local hg = atts[4].Installed
local muzzle = atts[5].Installed
local ub = atts[6].Installed or atts[15].Installed
local optic = atts[1].Installed
local charm = atts[14].Installed
local bayobipod = atts[17].Installed
local hgind = hgbg[hg] or 0
if barrel == "ur_g3_barrel_12" or barrel == "ur_g3_barrel_15" then
vm:SetBodygroup(6, hgind + 3)
if ub == "ur_g3_ub_bayonet" then
vm:SetBodygroup(7, 2)
elseif ub == "ur_g3_ub_bipod" then
vm:SetBodygroup(7, 4)
end
elseif barrel == "ur_g3_barrel_8" then
vm:SetBodygroup(6, hgind + 6)
elseif barrel == "ur_g3_barrel_26" then
vm:SetBodygroup(6, 11)
else
vm:SetBodygroup(6, hgind)
end
if (barrel == "default" or barrel == "ur_g3_barrel_12" or barrel == "ur_g3_barrel_15" or barrel == "ur_g3_barrel_8") and ub == "uc_ubgl_hk79" then
vm:SetBodygroup(6, 11)
atts[15].Offset.vpos = Vector(0, -0.7, 7.3)
else
atts[15].Offset.vpos = Vector(0, 0.1, 6.9)
end
if barrel == "ur_g3_barrel_26" then
vm:SetBodygroup(1, 1)
end
vm:SetBodygroup(9, !muzzle and muzzlebg[barrel] or 3)
vm:SetBodygroup(10, (optic or charm == "ur_mp5_optic_mount") and (opticbg[optic] and 0 or 1) or 0)
vm:SetBodygroup(8, ub and (ubmountbg[hg] or 1) or 0)
local todo = 0
local short = barrel == "ur_g3_barrel_12" or barrel == "ur_g3_barrel_15"
if bayobipod == "ur_g3_bayobipod_bayonet" then
todo = short and 2 or 1
elseif bayobipod == "ur_g3_bayobipod_bipod" then
todo = short and 4 or 3
end
vm:SetBodygroup(7, todo)
end
SWEP.Hook_NameChange = function(wep)
local atts = wep.Attachments
local barr = string.Replace(atts[2].Installed or "default","ur_g3_barrel_","")
local rec = string.Replace(atts[3].Installed or "default","ur_g3_rec_","")
local stock = string.Replace(atts[8].Installed or "default","ur_g3_stock_","")
local trueNames = GetConVar("arccw_truenames"):GetBool()
if rec == "hk33" then
if trueNames then
local bLookup = {
["8"] = "HK53",
["12"] = "HK33KA3",
}
if bLookup[barr] then
return bLookup[barr]
elseif atts[1].Installed == "ur_g3_optic_sg1" then
return "HK33SG/1"
else
return (stock == "collapsible" and "HK33A3") or "HK33A2"
end
else
local bLookup = {
["8"] = "CN109",
["12"] = "CN66K",
}
if bLookup[barr] then
return bLookup[barr]
elseif atts[1].Installed == "ur_g3_optic_sg1" then
return "CN66-SSR"
else
return "CN66"
end
end
elseif rec == "default" then -- not "else" here to allow the base's PSG1 namechange to happen
if trueNames then
if atts[13].Installed == "uc_fg_civvy" then return "HK91" end
local bLookup = {
["8"] = "HK51",
["12"] = "G3KA4",
}
if bLookup[barr] then
return bLookup[barr]
elseif atts[1].Installed == "ur_g3_optic_sg1" then
return "G3SG/1"
else
return (stock == "collapsible" and "G3A4") or wep.TrueName
end
else
local bLookup = {
["8"] = "CN102",
["12"] = "AG58K",
}
if bLookup[barr] then
return bLookup[barr]
elseif atts[1].Installed == "ur_g3_optic_sg1" then
return "AG-SSR"
else
return "AG58"
end
end
end
end
SWEP.O_Hook_UC_UseClassicHK79Mount = function(wep, data)
local atts = wep.Attachments
local barrel = atts[2].Installed or "default"
local ub = atts[6].Installed or atts[15].Installed
if ub == "uc_ubgl_hk79" and (barrel == "default" or barrel == "ur_g3_barrel_12" or barrel == "ur_g3_barrel_15" or barrel == "ur_g3_barrel_8") then
data.current = true
end
end
SWEP.ExtraSightDist = 2
SWEP.GuaranteeLaser = false
SWEP.WorldModelOffset = {
pos = Vector(-5, 3, -5),
ang = Angle(-12, 0, 180)
}
SWEP.MirrorVMWM = true
SWEP.Attachments = {
{
PrintName = "Optic",
Slot = {"ur_g3_optic", "optic"},
Bone = "body",
Offset = {
vpos = Vector(0, -1.6, -0.55),
vang = Angle(90, 0, -90),
},
InstalledEles = {"mount_optic"},
CorrectivePos = Vector(0.018, 0, -0.0),
CorrectiveAng = Angle(0, 0.3, 0.45),
},
{
PrintName = "Barrel",
Slot = "ur_g3_barrel",
DefaultAttName = "18\" Standard Barrel",
DefaultAttIcon = Material("entities/att/ur_g3/barrel_std.png", "smooth mips"),
DefaultFlags = {"g3_not8"}
},
{
PrintName = "Reciever",
Slot = "ur_g3_rec",
DefaultAttName = "Standard Reciever",
DefaultAttIcon = Material("entities/att/ur_g3/rec_std.png", "smooth mips"),
},
{
PrintName = "Handguard",
Slot = "ur_g3_handguard",
Bone = "body",
Offset = {
vpos = Vector(0, 1.5, 10),
vang = Angle(90, 0, -90),
},
DefaultAttName = "Standard Handguard",
DefaultAttIcon = Material("entities/att/ur_g3/hg_std.png", "smooth mips"),
ExcludeFlags = {"hk79_pro","g3_nohg"},
},
{
PrintName = "Muzzle",
Slot = "muzzle",
Bone = "body",
Offset = {
vpos = Vector(0, 0.06, 22.5),
vang = Angle(90, 0, -90),
},
MergeSlots = {17},
},
{
PrintName = "Underbarrel",
Slot = "foregrip",
Bone = "body",
Offset = {
vpos = Vector(0, 1.17, 8.6),
vang = Angle(90, 0, -90),
},
InstalledEles = {"mount_underbarrel"},
ExcludeFlags = {"g3_noub"},
MergeSlots = {15},
},
{
PrintName = "Tactical",
Slot = "tac",
Bone = "body",
Offset = {
vpos = Vector(-0.8, 0, 17),
vang = Angle(90, 0, 180),
},
InstalledEles = {"mount_tactical"},
},
{
PrintName = "Stock",
Slot = "ur_g3_stock",
DefaultAttName = "Factory Stock",
DefaultAttIcon = Material("entities/att/ur_g3/stock_std.png", "smooth mips"),
},
{
PrintName = "Magazine",
Slot = "ur_g3_mag",
DefaultAttName = "20-Round Mag",
DefaultAttIcon = Material("entities/att/ur_g3/mag20.png", "smooth mips"),
},
{
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"
},
{
PrintName = "Training Package",
Slot = "uc_tp",
DefaultAttName = "Basic Training"
},
{
PrintName = "Internals",
Slot = "uc_fg",
DefaultAttName = "Standard Internals"
},
{
PrintName = "Charm",
Slot = {"charm", "fml_charm", "mp5_charm"},
FreeSlot = true,
Bone = "body",
Offset = {
vpos = Vector(0.5, 1.3, 3),
vang = Angle(90, 0, -90),
},
},
{
PrintName = "M203 slot",
Slot = "uc_ubgl",
Bone = "body",
Offset = {
vpos = Vector(0, 0.1, 6.9), -- this is also changed by ModifyBodygroups
vang = Angle(90, 0, -90),
},
Hidden = true,
InstalledEles = {"mount_underbarrel"},
},
{
PrintName = "Furniture",
Slot = "ur_g3_skin",
DefaultAttName = "Gray",
DefaultAttIcon = Material("entities/att/ur_g3/skin_gray.png", "smooth mips"),
},
{
PrintName = "UR G3 bayobipod slot",
Slot = "ur_g3_bayobipod",
ExcludeFlags = {"g3_hk51hg"},
Hidden = true,
},
}
SWEP.Animations = {
["idle"] = {
Source = "idle"
},
["draw"] = {
Source = "draw",
LHIK = false,
LHIKIn = 0,
LHIKOut = 0.5,
SoundTable = {
{s = ratel, t = 0},
{s = common .. "raise.ogg", t = 0.2},
{s = common .. "shoulder.ogg", t = 0.2},
},
},
["holster"] = {
Source = "holster",
LHIK = false,
LHIKIn = 0,
LHIKOut = 0.5,
SoundTable = {
{s = ratel, t = 0},
-- {s = common .. "raise.ogg", t = 0.2},
-- {s = common .. "shoulder.ogg", t = 0.2},
},
},
["ready"] = {
Source = "ready",
LHIK = true,
LHIKIn = 0,
LHIKOut = 0.6,
LHIKEaseOut = 0.25,
SoundTable = {
{s = ratel, t = 0},
{s = path .. "chback.ogg", t = 0.2},
{s = path .. "chamber.ogg", t = 0.3},
{s = common .. "shoulder.ogg", t = .6},
},
},
["fire"] = {
Source = {"fire_01","fire_02","fire_03"},
ShellEjectAt = 0,
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_iron"] = {
Source = {"fire_01","fire_02","fire_03"},
ShellEjectAt = 0,
SoundTable = {
{s = common .. "common_mech_light.ogg", t = 0},
{ 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 }
},
},
["reload"] = {
Source = "reload",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
LHIK = true,
LHIKIn = 0.3,
LHIKOut = 0.65,
LHIKEaseOut = 0.25,
MinProgress = 1.3,
SoundTable = {
{s = rottle, t = 0.0},
{s = ratel, t = 3/30},
{s = common .. "magpouch_gear.ogg", t = 9/30},
{s = path .. "magout.ogg", t = 11/30},
{s = ratel, t = 0.5},
{s = rottle, t = 0.75},
{s = path .. "struggle.ogg", t = 36/30},
{s = path .. "magin.ogg", t = 42/30},
{s = ratel, t = 1.1},
{s = rottle, t = 1.15},
{s = common .. "grab.ogg", t = 52/30},
{s = common .. "shoulder.ogg", t = 54/30},
},
},
["reload_empty"] = {
Source = "reload_empty",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
LHIK = true,
LHIKIn = 0.3,
LHIKOut = 0.5,
LHIKEaseOut = 0.25,
MinProgress = 2.1,
LastClip1OutTime = 50/30,
SoundTable = {
{s = rottle, t = 0.0},
{s = path .. "chback.ogg", t = 5/30, v = 1.95},
{s = path .. "chlock.ogg", t = 13/30, v = 1.95},
{s = ratel, t = 23/30},
{s = rottle, t = 24/30},
{s = common .. "magpouch_gear.ogg", t = 25/30},
{s = path .. "magrel.ogg", t = 27/30},
{s = path .. "magout.ogg", t = 30/30},
{s = rottle, t = 49/30},
{s = rottle, t = 55/30},
{s = {common .. "rifle_magdrop_1.ogg",common .. "rifle_magdrop_2.ogg",common .. "rifle_magdrop_3.ogg",common .. "rifle_magdrop_4.ogg",common .. "rifle_magdrop.ogg"}, t = 51/30, v = 0.25},
{s = path .. "struggle.ogg", t = 57/30},
{s = path .. "magin.ogg", t = 62/30},
{s = rottle, t = 75/30},
{s = path .. "chslap.ogg", t = 80/30},
{s = ratel, t = 81/30},
{s = common .. "grab.ogg", t = 87/30},
{s = common .. "shoulder.ogg", t = 88/30},
},
},
["reload_empty_scope"] = {
Source = "reload_empty_scope",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
LHIK = true,
LHIKIn = 0.3,
LHIKOut = 0.5,
LHIKEaseOut = 0.25,
MinProgress = 2.1,
LastClip1OutTime = 50/30,
SoundTable = {
{s = rottle, t = 0.0},
{s = path .. "chback.ogg", t = 6/30, v = 1.95},
{s = path .. "chlock.ogg", t = 13/30, v = 1.95},
{s = ratel, t = 23/30},
{s = rottle, t = 24/30},
{s = common .. "magpouch.ogg", t = 26/30},
{s = path .. "magrel.ogg", t = 27/30},
{s = path .. "magout.ogg", t = 30/30},
{s = rottle, t = 49/30},
{s = rottle, t = 55/30},
{s = {common .. "rifle_magdrop_1.ogg",common .. "rifle_magdrop_2.ogg",common .. "rifle_magdrop_3.ogg",common .. "rifle_magdrop_4.ogg",common .. "rifle_magdrop.ogg"}, t = 51/30, v = 0.25},
{s = path .. "struggle.ogg", t = 57/30},
{s = path .. "magin.ogg", t = 62/30},
{s = rottle, t = 75/30},
{s = path .. "chlock.ogg", t = 75/30, v = 1.95},
{s = path .. "chamber.ogg", t = 80/30},
{s = ratel, t = 81/30},
{s = common .. "grab.ogg", t = 92/30},
{s = common .. "shoulder.ogg", t = 93/30},
},
},
["reload_30rnd"] = {
Source = "reload_30rnd",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
LHIK = true,
LHIKIn = 0.3,
LHIKOut = 0.65,
LHIKEaseOut = 0.25,
MinProgress = 1.3,
SoundTable = {
{s = rottle, t = 0.0},
{s = ratel, t = 3/30},
{s = path .. "magout.ogg", t = 11/30},
{s = common .. "magpouch.ogg", t = 26/30},
{s = ratel, t = 0.5},
{s = rottle, t = 0.75},
{s = path .. "struggle.ogg", t = 39/30},
{s = path .. "magin.ogg", t = 44/30},
{s = ratel, t = 1.1},
{s = rottle, t = 1.15},
{s = common .. "grab.ogg", t = 56/30},
{s = common .. "shoulder.ogg", t = 61/30},
},
},
["reload_empty_30rnd"] = {
Source = "reload_empty_30rnd",
RareSource = "reload_empty_30rnd_rare",
RareSourceChance = 100,
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
LHIK = true,
LHIKIn = 0.3,
LHIKOut = 0.5,
LHIKEaseOut = 0.25,
MinProgress = 2.1,
LastClip1OutTime = 50/30,
SoundTable = {
{s = rottle, t = 0.0},
{s = path .. "chback.ogg", t = 6/30, v = 1.95},
{s = path .. "chlock.ogg", t = 13/30, v = 1.95},
{s = ratel, t = 22/30},
{s = rottle, t = 23/30},
{s = path .. "magrel.ogg", t = 27/30},
{s = path .. "magout.ogg", t = 30/30},
{s = common .. "magpouch.ogg", t = 47/30},
{s = rottle, t = 49/30},
{s = rottle, t = 55/30},
{s = {common .. "rifle_magdrop_1.ogg",common .. "rifle_magdrop_2.ogg",common .. "rifle_magdrop_3.ogg",common .. "rifle_magdrop_4.ogg",common .. "rifle_magdrop.ogg"}, t = 51/30, v = 0.25},
{s = path .. "struggle.ogg", t = 57/30},
{s = path .. "magin.ogg", t = 62/30},
{s = rottle, t = 75/30},
{s = path .. "chslap.ogg", t = 80/30},
{s = ratel, t = 81/30},
{s = common .. "grab.ogg", t = 92/30},
{s = common .. "shoulder.ogg", t = 93/30},
},
},
["reload_empty_30rnd_scope"] = {
Source = "reload_empty_scope_30rnd",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
LHIK = true,
LHIKIn = 0.3,
LHIKOut = 0.5,
LHIKEaseOut = 0.25,
MinProgress = 2.1,
LastClip1OutTime = 50/30,
SoundTable = {
{s = rottle, t = 0.0},
{s = path .. "chback.ogg", t = 6/30, v = 1.95},
{s = path .. "chlock.ogg", t = 13/30, v = 1.95},
{s = ratel, t = 22/30},
{s = rottle, t = 23/30},
{s = path .. "magrel.ogg", t = 27/30},
{s = path .. "magout.ogg", t = 30/30},
{s = common .. "magpouch.ogg", t = 47/30},
{s = rottle, t = 49/30},
{s = rottle, t = 55/30},
{s = {common .. "rifle_magdrop_1.ogg",common .. "rifle_magdrop_2.ogg",common .. "rifle_magdrop_3.ogg",common .. "rifle_magdrop_4.ogg",common .. "rifle_magdrop.ogg"}, t = 51/30, v = 0.25},
{s = path .. "struggle.ogg", t = 57/30},
{s = path .. "magin.ogg", t = 62/30},
{s = rottle, t = 75/30},
{s = path .. "chlock.ogg", t = 75/30, v = 1.95},
{s = path .. "chamber.ogg", t = 80/30},
{s = ratel, t = 81/30},
{s = common .. "grab.ogg", t = 92/30},
{s = common .. "shoulder.ogg", t = 93/30},
},
},
["reload_10rnd"] = {
Source = "reload_10rnd",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
LHIK = true,
LHIKIn = 0.3,
LHIKOut = 0.65,
LHIKEaseOut = 0.25,
MinProgress = 1.3,
SoundTable = {
{s = rottle, t = 0.0},
{s = ratel, t = 3/30},
{s = path .. "magout.ogg", t = 10/30},
{s = common .. "magpouch.ogg", t = 26/30},
{s = ratel, t = 0.5},
{s = rottle, t = 0.75},
{s = path .. "struggle.ogg", t = 36/30},
{s = path .. "magin.ogg", t = 42/30},
{s = ratel, t = 1.1},
{s = rottle, t = 1.15},
{s = common .. "grab.ogg", t = 52/30},
{s = common .. "shoulder.ogg", t = 56/30},
},
},
["reload_empty_10rnd"] = {
Source = "reload_empty_10rnd",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
LHIK = true,
LHIKIn = 0.3,
LHIKOut = 0.5,
LHIKEaseOut = 0.25,
MinProgress = 2.1,
LastClip1OutTime = 50/30,
SoundTable = {
{s = rottle, t = 0.0},
{s = path .. "chback.ogg", t = 6/30, v = 1.95},
{s = path .. "chlock.ogg", t = 13/30, v = 1.95},
{s = ratel, t = 22/30},
{s = rottle, t = 23/30},
{s = path .. "magrel.ogg", t = 27/30},
{s = path .. "magout.ogg", t = 30/30},
{s = common .. "magpouch.ogg", t = 47/30},
{s = rottle, t = 49/30},
{s = rottle, t = 55/30},
{s = {common .. "rifle_magdrop_1.ogg",common .. "rifle_magdrop_2.ogg",common .. "rifle_magdrop_3.ogg",common .. "rifle_magdrop_4.ogg",common .. "rifle_magdrop.ogg"}, t = 51/30, v = 0.25},
{s = path .. "struggle.ogg", t = 57/30},
{s = path .. "magin.ogg", t = 62/30},
{s = rottle, t = 75/30},
{s = path .. "chslap.ogg", t = 80/30},
{s = ratel, t = 81/30},
{s = common .. "grab.ogg", t = 92/30},
{s = common .. "shoulder.ogg", t = 93/30},
},
},
["reload_empty_10rnd_scope"] = {
Source = "reload_empty_scope_10rnd",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
LHIK = true,
LHIKIn = 0.3,
LHIKOut = 0.5,
LHIKEaseOut = 0.25,
MinProgress = 2.1,
LastClip1OutTime = 50/30,
SoundTable = {
{s = rottle, t = 0.0},
{s = path .. "chback.ogg", t = 6/30, v = 1.95},
{s = path .. "chlock.ogg", t = 13/30, v = 1.95},
{s = ratel, t = 22/30},
{s = rottle, t = 23/30},
{s = path .. "magrel.ogg", t = 27/30},
{s = path .. "magout.ogg", t = 30/30},
{s = common .. "magpouch.ogg", t = 47/30},
{s = rottle, t = 49/30},
{s = rottle, t = 55/30},
{s = {common .. "rifle_magdrop_1.ogg",common .. "rifle_magdrop_2.ogg",common .. "rifle_magdrop_3.ogg",common .. "rifle_magdrop_4.ogg",common .. "rifle_magdrop.ogg"}, t = 51/30, v = 0.25},
{s = path .. "struggle.ogg", t = 57/30},
{s = path .. "magin.ogg", t = 62/30},
{s = rottle, t = 74/30},
{s = path .. "chlock.ogg", t = 75/30, v = 1.95},
{s = path .. "chamber.ogg", t = 80/30},
{s = ratel, t = 81/30},
{s = common .. "grab.ogg", t = 92/30},
{s = common .. "shoulder.ogg", t = 93/30},
},
},
["reload_50rnd"] = {
Source = "reload_50rnd",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
LHIK = true,
LHIKIn = 0.3,
LHIKOut = 0.65,
LHIKEaseOut = 0.25,
MinProgress = 1.3,
SoundTable = {
{s = rottle, t = 0.0},
{s = ratel, t = 3/30},
{s = path .. "magout.ogg", t = 11/30},
{s = common .. "magpouch.ogg", t = 26/30},
{s = ratel, t = 0.5},
{s = rottle, t = 0.75},
{s = path .. "struggle.ogg", t = 42/30},
{s = path .. "magin.ogg", t = 48/30},
{s = ratel, t = 1.1+5/30},
{s = rottle, t = 1.15+5/30},
{s = common .. "grab.ogg", t = 58/30},
{s = common .. "shoulder.ogg", t = 62/30},
},
},
["reload_empty_50rnd"] = {
Source = "reload_empty_50rnd",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
LHIK = true,
LHIKIn = 0.3,
LHIKOut = 0.5,
LHIKEaseOut = 0.25,
MinProgress = 2.1,
LastClip1OutTime = 50/30,
SoundTable = {
{s = rottle, t = 0.0},
{s = path .. "chback.ogg", t = 6/30, v = 1.95},
{s = path .. "chlock.ogg", t = 13/30, v = 1.95},
{s = ratel, t = 22/30},
{s = rottle, t = 23/30},
{s = path .. "magrel.ogg", t = 27/30},
{s = path .. "magout.ogg", t = 30/30},
{s = common .. "magpouch.ogg", t = 47/30},
{s = rottle, t = 49/30},
{s = rottle, t = 55/30},
{s = {common .. "rifle_magdrop_1.ogg",common .. "rifle_magdrop_2.ogg",common .. "rifle_magdrop_3.ogg",common .. "rifle_magdrop_4.ogg",common .. "rifle_magdrop.ogg"}, t = 51/30, v = 0.25},
{s = path .. "struggle.ogg", t = 62/30},
{s = path .. "magin.ogg", t = 67/30},
{s = rottle, t = 80/30},
{s = path .. "chslap.ogg", t = 85/30},
{s = ratel, t = 86/30},
{s = common .. "grab.ogg", t = 97/30},
{s = common .. "shoulder.ogg", t = 98/30},
},
},
["reload_empty_50rnd_scope"] = {
Source = "reload_empty_scope_50rnd",
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
LHIK = true,
LHIKIn = 0.3,
LHIKOut = 0.5,
LHIKEaseOut = 0.25,
MinProgress = 2.1,
LastClip1OutTime = 50/30,
SoundTable = {
{s = rottle, t = 0.0},
{s = path .. "chback.ogg", t = 6/30, v = 1.95},
{s = path .. "chlock.ogg", t = 13/30, v = 1.95},
{s = ratel, t = 22/30},
{s = rottle, t = 23/30},
{s = path .. "magrel.ogg", t = 27/30},
{s = path .. "magout.ogg", t = 30/30},
{s = common .. "magpouch.ogg", t = 47/30},
{s = rottle, t = 49/30},
{s = rottle, t = 55/30},
{s = {common .. "rifle_magdrop_1.ogg",common .. "rifle_magdrop_2.ogg",common .. "rifle_magdrop_3.ogg",common .. "rifle_magdrop_4.ogg",common .. "rifle_magdrop.ogg"}, t = 51/30, v = 0.25},
{s = path .. "struggle.ogg", t = 62/30},
{s = path .. "magin.ogg", t = 67/30},
{s = rottle, t = 80/30},
{s = path .. "chlock.ogg", t = 75/30, v = 1.95},
{s = path .. "chamber.ogg", t = 85/30},
{s = ratel, t = 86/30},
{s = common .. "grab.ogg", t = 97/30},
{s = common .. "shoulder.ogg", t = 98/30},
},
},
["unjam"] = {
Source = "jamfix",
ShellEjectAt = 0.5,
SoundTable = {
{s = common .. "cloth_4.ogg", t = 0.1},
{s = path .. "chback.ogg", t = 0.3},
{s = path .. "chamber.ogg", t = 0.6},
{s = common .. "grab.ogg", t = 0.9},
{s = common .. "shoulder.ogg", t = 0.95},
},
LHIK = true,
LHIKIn = 0.2,
LHIKEaseOut = 0.3,
LHIKOut = 0.6,
},
["enter_inspect"] = {
Source = "inspect_enter",
-- time = 35 / 60,
LHIK = false,
LHIKIn = 0,
LHIKOut = 2.5,
SoundTable = {
{s = rottle, t = 0},
{s = common .. "movement-rifle-02.ogg", t = 0.1},
},
},
["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 = true,
LHIKIn = 0,
LHIKEaseOut = 0.3,
LHIKOut = 0.6,
SoundTable = {
{s = common .. "movement-rifle-04.ogg", t = 0.2},
{s = rottle, t = 0.25},
{s = rottle, t = 1.2},
{s = common .. "movement-rifle-03.ogg", t = 100/30},
{s = common .. "shoulder.ogg", t = 40/30},
{s = path .. "chback.ogg", t = 78/30, v = 1.25},
{s = path .. "chlock.ogg", t = 85/30, v = 1.25},
{s = path .. "chamber.ogg", t = 103/30},
},
},
}
-- SWEP.Hook_Think = ArcCW.UC.ADSReload
SWEP.Hook_Think = function(wep)
local vm = wep:GetOwner():GetViewModel()
vm:SetPoseParameter("short", wep.Attachments[2].Installed == "ur_g3_barrel_8" and 1 or 0)
ArcCW.UC.ADSReload(wep)
end
SWEP.Hook_SelectReloadAnimation = function(wep, anim) -- not in atts cause _scope wont work
local seq = anim
if wep.Attachments[9].Installed == "ur_g3_mag_50" then
seq = seq .. "_50rnd"
elseif wep.Attachments[9].Installed == "ur_g3_mag_10" then
seq = seq .. "_10rnd"
elseif wep.Attachments[9].Installed == "ur_g3_mag_40_556" or wep.Attachments[3].Installed == "ur_g3_rec_hk33" and !wep.Attachments[9].Installed then
seq = seq .. "_30rnd"
end
if anim == "reload_empty" and wep.Attachments[1].Installed then
seq = seq .. "_scope"
end
return seq
end