880 lines
24 KiB
Lua
880 lines
24 KiB
Lua
|
SWEP.Base = "arccw_base"
|
||
|
SWEP.Spawnable = true
|
||
|
SWEP.Category = "ArcCW - Urban Coalition"
|
||
|
SWEP.UC_CategoryPack = "2Urban Renewal"
|
||
|
SWEP.AdminOnly = false
|
||
|
SWEP.UseHands = true
|
||
|
|
||
|
-- Muzzle and shell effects --
|
||
|
|
||
|
SWEP.MuzzleEffect = "muzzleflash_pistol_deagle"
|
||
|
SWEP.ShellEffect = "arccw_uc_shelleffect"
|
||
|
SWEP.ShellModel = "models/weapons/arccw/uc_shells/50ae.mdl"
|
||
|
SWEP.ShellScale = 1
|
||
|
--SWEP.ShellMaterial = "models/weapons/arcticcw/shell_9mm"
|
||
|
SWEP.ShellPitch = 90
|
||
|
SWEP.UC_ShellColor = Color(0.7*255, 0.2*255, 0.2*255)
|
||
|
|
||
|
SWEP.MuzzleEffectAttachment = 1
|
||
|
SWEP.CaseEffectAttachment = 2
|
||
|
SWEP.TracerNum = 1
|
||
|
SWEP.TracerWidth = 1
|
||
|
SWEP.ShootPitch = 100
|
||
|
|
||
|
-- Fake name --
|
||
|
|
||
|
SWEP.PrintName = "Predator .50"
|
||
|
|
||
|
-- True name --
|
||
|
|
||
|
SWEP.TrueName = "Desert Eagle"
|
||
|
|
||
|
-- Trivia --
|
||
|
|
||
|
SWEP.Trivia_Class = "Pistol"
|
||
|
SWEP.Trivia_Desc = "Unorthodox pistol in both weight and design, marketed as an alternative to high-caliber revolvers. Its huge rounds, unrivaled in power for a handgun cartridge, can easily blast a human skull apart.\nDespite being one of the most famous weapons in action culture, it rarely sees practical use because of its massive, bulky frame and pointlessly large caliber.\n\nWe both know that won't stop you."
|
||
|
SWEP.Trivia_Manufacturer = "ISM"
|
||
|
SWEP.Trivia_Calibre = ".50 Action Express"
|
||
|
SWEP.Trivia_Mechanism = "Gas-Operated Rotating Bolt"
|
||
|
SWEP.Trivia_Country = "Israel"
|
||
|
SWEP.Trivia_Year = 1983
|
||
|
|
||
|
-- Weapon slot --
|
||
|
|
||
|
SWEP.Slot = 1
|
||
|
|
||
|
-- Weapon's manufacturer real name --
|
||
|
|
||
|
if GetConVar("arccw_truenames"):GetBool() then
|
||
|
SWEP.PrintName = SWEP.TrueName
|
||
|
SWEP.Trivia_Manufacturer = "Magnum Research"
|
||
|
end
|
||
|
|
||
|
-- Viewmodel / Worldmodel / FOV --
|
||
|
|
||
|
SWEP.ViewModel = "models/weapons/arccw/c_ud_deagle.mdl"
|
||
|
SWEP.WorldModel = "models/weapons/arccw/c_ud_deagle.mdl"
|
||
|
SWEP.ViewModelFOV = 60
|
||
|
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_REVOLVER
|
||
|
|
||
|
-- Damage parameters --
|
||
|
|
||
|
SWEP.Damage = 80 -- 2 shot close range kill
|
||
|
SWEP.DamageMin = 12 -- 9 shot long range kill (big bullet falls off quickly)
|
||
|
SWEP.RangeMin = 10
|
||
|
SWEP.Range = 120 -- 2 shot until ~50m
|
||
|
SWEP.Penetration = 9
|
||
|
SWEP.DamageType = DMG_BULLET
|
||
|
SWEP.ShootEntity = nil
|
||
|
SWEP.MuzzleVelocity = 470
|
||
|
SWEP.PhysBulletMuzzleVelocity = 470
|
||
|
|
||
|
SWEP.BodyDamageMults = ArcCW.UC.BodyDamageMults
|
||
|
|
||
|
-- Jamming --
|
||
|
|
||
|
--SWEP.Malfunction = true
|
||
|
SWEP.MalfunctionJam = true
|
||
|
--SWEP.MalfunctionMean = 21
|
||
|
SWEP.MalfunctionPostFire = true
|
||
|
SWEP.MalfunctionTakeRound = false
|
||
|
|
||
|
-- Mag size --
|
||
|
|
||
|
SWEP.ChamberSize = 1
|
||
|
SWEP.Primary.ClipSize = 7
|
||
|
SWEP.ExtendedClipSize = 14
|
||
|
SWEP.ReducedClipSize = 5
|
||
|
|
||
|
-- Recoil --
|
||
|
|
||
|
SWEP.Recoil = 3.95
|
||
|
SWEP.RecoilSide = 1
|
||
|
|
||
|
SWEP.RecoilRise = 0.5
|
||
|
SWEP.VisualRecoilMult = 1.5
|
||
|
SWEP.MaxRecoilBlowback = 2
|
||
|
SWEP.MaxRecoilPunch = 6
|
||
|
|
||
|
SWEP.Sway = 1.1
|
||
|
|
||
|
-- Firerate / Firemodes --
|
||
|
|
||
|
SWEP.Delay = 60 / 200
|
||
|
SWEP.Num = 1
|
||
|
SWEP.Firemodes = {
|
||
|
{
|
||
|
Mode = 1,
|
||
|
},
|
||
|
{
|
||
|
Mode = 0
|
||
|
}
|
||
|
}
|
||
|
|
||
|
SWEP.ShootPitch = 100
|
||
|
SWEP.ShootVol = 120
|
||
|
|
||
|
SWEP.ProceduralRegularFire = false
|
||
|
SWEP.ProceduralIronFire = false
|
||
|
|
||
|
SWEP.ReloadInSights = true
|
||
|
|
||
|
-- NPC --
|
||
|
|
||
|
SWEP.NPCWeaponType = "weapon_357"
|
||
|
SWEP.NPCWeight = 70
|
||
|
|
||
|
-- Accuracy --
|
||
|
|
||
|
SWEP.AccuracyMOA = 5
|
||
|
SWEP.HipDispersion = 600
|
||
|
SWEP.MoveDispersion = 200
|
||
|
SWEP.JumpDispersion = 1000
|
||
|
|
||
|
SWEP.Primary.Ammo = "357"
|
||
|
SWEP.MagID = "deagle"
|
||
|
|
||
|
-- Speed multipliers --
|
||
|
|
||
|
SWEP.SpeedMult = 0.925
|
||
|
SWEP.SightedSpeedMult = 0.75
|
||
|
SWEP.SightTime = 0.25
|
||
|
SWEP.ShootSpeedMult = 0.8
|
||
|
|
||
|
-- Length --
|
||
|
|
||
|
SWEP.BarrelLength = 12
|
||
|
SWEP.ExtraSightDist = 10
|
||
|
|
||
|
-- Ironsights / Customization / Poses --
|
||
|
|
||
|
SWEP.HolsterPos = Vector(0.3, 3, 1)
|
||
|
SWEP.HolsterAng = Angle(-5, 15, -20)
|
||
|
|
||
|
SWEP.HoldtypeHolstered = "normal"
|
||
|
SWEP.HoldtypeActive = "revolver"
|
||
|
SWEP.HoldtypeSights = "revolver"
|
||
|
|
||
|
SWEP.IronSightStruct = {
|
||
|
Pos = Vector(-2.549, 1, 1.505),
|
||
|
Ang = Angle(0, 0, 0),
|
||
|
Magnification = 1.1,
|
||
|
SwitchToSound = "",
|
||
|
ViewModelFOV = 55,
|
||
|
}
|
||
|
|
||
|
SWEP.ActivePos = Vector(-0.5, 1.5, 1.15)
|
||
|
SWEP.ActiveAng = Angle(0.5, 0.5, -2)
|
||
|
|
||
|
SWEP.CustomizePos = Vector(-1, -2, 2)
|
||
|
SWEP.CustomizeAng = Angle(0, 0, 0)
|
||
|
|
||
|
SWEP.CrouchPos = Vector(-2.2, 1, 0.6)
|
||
|
SWEP.CrouchAng = Angle(0, 0, -14)
|
||
|
|
||
|
SWEP.MirrorVMWM = true
|
||
|
SWEP.WorldModelOffset = {
|
||
|
pos = Vector(-10.5, 4, -4),
|
||
|
ang = Angle(-6, 0, 180),
|
||
|
bone = "ValveBiped.Bip01_R_Hand",
|
||
|
}
|
||
|
|
||
|
-- Weapon sounds --
|
||
|
|
||
|
local path = ")weapons/arccw_ur/deagle/"
|
||
|
local common = ")/arccw_uc/common/"
|
||
|
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.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.ogg"
|
||
|
SWEP.DistantShootSound = nil
|
||
|
SWEP.DistantShootSoundSilenced = common .. "sup_tail.ogg"
|
||
|
SWEP.ShootDrySound = path .. "dryfire.ogg"
|
||
|
|
||
|
local tail = ")/arccw_uc/common/50ae/"
|
||
|
|
||
|
SWEP.DistantShootSoundOutdoors = {
|
||
|
tail .. "fire-dist-50ae-pistol-ext-01.ogg",
|
||
|
tail .. "fire-dist-50ae-pistol-ext-02.ogg",
|
||
|
tail .. "fire-dist-50ae-pistol-ext-03.ogg",
|
||
|
tail .. "fire-dist-50ae-pistol-ext-04.ogg",
|
||
|
tail .. "fire-dist-50ae-pistol-ext-05.ogg",
|
||
|
tail .. "fire-dist-50ae-pistol-ext-06.ogg"
|
||
|
}
|
||
|
SWEP.DistantShootSoundIndoors = {
|
||
|
tail .. "fire-dist-50ae-pistol-int-01.ogg",
|
||
|
tail .. "fire-dist-50ae-pistol-int-02.ogg",
|
||
|
tail .. "fire-dist-50ae-pistol-int-03.ogg",
|
||
|
tail .. "fire-dist-50ae-pistol-int-04.ogg",
|
||
|
tail .. "fire-dist-50ae-pistol-int-05.ogg",
|
||
|
tail .. "fire-dist-50ae-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.75
|
||
|
SWEP.Hook_AddShootSound = ArcCW.UC.InnyOuty
|
||
|
|
||
|
-- Bodygroups --
|
||
|
|
||
|
SWEP.BulletBones = {
|
||
|
[1] = "Bullet1", [2] = "Bullet2", [3] = "Bullet3", [4] = "Bullet4", [5] = "Bullet5", [6] = "Bullet6", [7] = "Bullet7"
|
||
|
}
|
||
|
|
||
|
SWEP.DefaultBodygroups = "000000000"
|
||
|
|
||
|
SWEP.AttachmentElements = {
|
||
|
["ur_deagle_barrel_modern"] = {
|
||
|
VMBodygroups = {{ind = 1, bg = 1}},
|
||
|
},
|
||
|
["ur_deagle_barrel_compact"] = {
|
||
|
VMBodygroups = {{ind = 1, bg = 5}},
|
||
|
AttPosMods = {
|
||
|
[4] = {
|
||
|
vpos = Vector(0, 0, .15),
|
||
|
vang = Angle(90, 0, -90),
|
||
|
},
|
||
|
}
|
||
|
},
|
||
|
["ur_deagle_barrel_compen"] = {
|
||
|
VMBodygroups = {{ind = 1, bg = 4}},
|
||
|
},
|
||
|
["ur_deagle_barrel_ext"] = {
|
||
|
VMBodygroups = {{ind = 1, bg = 2}},
|
||
|
AttPosMods = {
|
||
|
[4] = {
|
||
|
vpos = Vector(0, 0, 1.95),
|
||
|
vang = Angle(90, 0, -90),
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
["ur_deagle_barrel_marksman"] = {
|
||
|
VMBodygroups = {{ind = 1, bg = 3}},
|
||
|
AttPosMods = {
|
||
|
[4] = {
|
||
|
vpos = Vector(0, -0.05, 5.1),
|
||
|
vang = Angle(90, 0, -90),
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
["ur_deagle_barrel_annihilator"] = {
|
||
|
VMBodygroups = {{ind = 1, bg = 6}},
|
||
|
AttPosMods = {
|
||
|
[4] = {
|
||
|
vpos = Vector(0, -0.05, 1.25),
|
||
|
vang = Angle(90, 0, -90),
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
|
||
|
["ur_deagle_mag_ext"] = {
|
||
|
VMBodygroups = {{ind = 2, bg = 1}}
|
||
|
},
|
||
|
|
||
|
["ur_deagle_grip_wooden"] = {
|
||
|
VMBodygroups = {{ind = 4, bg = 1}}
|
||
|
},
|
||
|
["ur_deagle_grip_rubber"] = {
|
||
|
VMBodygroups = {{ind = 4, bg = 2}}
|
||
|
},
|
||
|
|
||
|
["tac_rail"] = {
|
||
|
VMBodygroups = {{ind = 5, bg = 1}}
|
||
|
},
|
||
|
["ur_deagle_caliber_44"] = {
|
||
|
VMBodygroups = {{ind = 6, bg = 1}}
|
||
|
},
|
||
|
["ur_deagle_caliber_357"] = {
|
||
|
VMBodygroups = {{ind = 6, bg = 2}}
|
||
|
},
|
||
|
["ur_deagle_caliber_410"] = {
|
||
|
VMBodygroups = {{ind = 6, bg = 3}}
|
||
|
},
|
||
|
|
||
|
["ur_deagle_skin_black"] = {
|
||
|
VMSkin = 1,
|
||
|
},
|
||
|
["ur_deagle_skin_gold"] = {
|
||
|
VMSkin = 2,
|
||
|
},
|
||
|
["ur_deagle_skin_chrome"] = {
|
||
|
VMSkin = 3,
|
||
|
},
|
||
|
["ur_deagle_skin_modern"] = {
|
||
|
VMBodygroups = {{ind = 0, bg = 1}},
|
||
|
VMSkin = 3,
|
||
|
},
|
||
|
["ur_deagle_skin_sex"] = {
|
||
|
VMBodygroups = {{ind = 0, bg = 1}},
|
||
|
VMSkin = 4,
|
||
|
},
|
||
|
}
|
||
|
|
||
|
SWEP.Hook_ModifyBodygroups = function(wep,data)
|
||
|
local vm = data.vm
|
||
|
if !IsValid(vm) then return end
|
||
|
local optic = wep.Attachments[1].Installed
|
||
|
local tritium = (optic == "ur_deagle_tritium")
|
||
|
local barrel = wep.Attachments[2].Installed or 0
|
||
|
|
||
|
if tritium then
|
||
|
-- Setup for when we introduce new barrel options
|
||
|
if barrel == "ur_deagle_barrel_marksman" then
|
||
|
vm:SetBodygroup(3,3)
|
||
|
elseif barrel == "ur_deagle_barrel_ext" then
|
||
|
vm:SetBodygroup(3,2)
|
||
|
elseif barrel == "ur_deagle_barrel_compact" then
|
||
|
vm:SetBodygroup(3,4)
|
||
|
elseif barrel == "ur_deagle_barrel_annihilator" then
|
||
|
vm:SetBodygroup(3,5)
|
||
|
else
|
||
|
vm:SetBodygroup(3,1)
|
||
|
end
|
||
|
-- elseif optic and barrel == 0 then
|
||
|
-- vm:SetBodygroup(1,1)
|
||
|
end
|
||
|
|
||
|
if barrel == "ur_deagle_barrel_annihilator" then
|
||
|
if vm:GetBodygroup(5) == 1 then
|
||
|
vm:SetBodygroup(5,2)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
SWEP.Hook_NameChange = function(wep, name)
|
||
|
if wep.Attachments[2].Installed == "ur_deagle_barrel_annihilator" then
|
||
|
return "Annihilator"
|
||
|
elseif !GetConVar("arccw_truenames"):GetBool() then
|
||
|
local add = ".50"
|
||
|
local cal = wep.Attachments[3].Installed
|
||
|
|
||
|
if cal == "ur_deagle_caliber_357" then
|
||
|
add = ".357"
|
||
|
elseif cal == "ur_deagle_caliber_44" then
|
||
|
add = ".44"
|
||
|
elseif cal == "ur_deagle_caliber_410" then
|
||
|
add = ".410"
|
||
|
end
|
||
|
|
||
|
return "Predator " .. add
|
||
|
else
|
||
|
return "Desert Eagle"
|
||
|
end
|
||
|
end
|
||
|
|
||
|
-- Animations --
|
||
|
|
||
|
local mech = {path .. "mech-01.ogg", path .. "mech-02.ogg", path .. "mech-03.ogg", path .. "mech-04.ogg", path .. "mech-05.ogg", path .. "mech-06.ogg"}
|
||
|
|
||
|
SWEP.Animations = {
|
||
|
["idle_empty"] = {
|
||
|
Source = "idle_empty",
|
||
|
Time = 120 / 60,
|
||
|
},
|
||
|
["idle_jammed"] = { -- pistol-like malfucntions not implemented yet in arccw
|
||
|
Source = "idle_jammed",
|
||
|
Time = 120 / 60,
|
||
|
},
|
||
|
["idle"] = {
|
||
|
Source = "idle",
|
||
|
Time = 120 / 60,
|
||
|
},
|
||
|
["ready"] = {
|
||
|
Source = "ready",
|
||
|
Time = 73 / 60,
|
||
|
LHIK = true,
|
||
|
LHIKIn = 0,
|
||
|
LHIKEaseOut = 0.3,
|
||
|
LHIKOut = 0.6,
|
||
|
SoundTable = {
|
||
|
{ s = rottle, t = 0 / 60, c = ca },
|
||
|
{ s = path .. "slidepull.ogg", t = 12 / 60, c = ca },
|
||
|
{ s = path .. "chamber.ogg", t = 20 / 60, c = ca },
|
||
|
},
|
||
|
},
|
||
|
|
||
|
["draw"] = {
|
||
|
Source = "draw",
|
||
|
SoundTable = {
|
||
|
{s = common .. "raise.ogg", t = 0.05},
|
||
|
},
|
||
|
},
|
||
|
["draw_empty"] = {
|
||
|
Source = "draw_empty",
|
||
|
Time = 20 / 30,
|
||
|
SoundTable = {
|
||
|
{s = common .. "raise.ogg", t = 0.05},
|
||
|
},
|
||
|
},
|
||
|
["holster"] = {
|
||
|
Source = "holster",
|
||
|
LHIK = true,
|
||
|
LHIKIn = 0.3,
|
||
|
LHIKEaseIn = 0.4,
|
||
|
LHIKEaseOut = 0.15,
|
||
|
LHIKOut = 0.4,
|
||
|
SoundTable = {
|
||
|
{s = common .. "raise.ogg", t = 0.05},
|
||
|
},
|
||
|
},
|
||
|
["holster_empty"] = {
|
||
|
Source = "holster_empty",
|
||
|
LHIK = true,
|
||
|
LHIKIn = 0.3,
|
||
|
LHIKEaseIn = 0.4,
|
||
|
LHIKEaseOut = 0.15,
|
||
|
LHIKOut = 0.4,
|
||
|
SoundTable = {
|
||
|
{s = common .. "raise.ogg", t = 0.05},
|
||
|
},
|
||
|
},
|
||
|
|
||
|
["fire"] = {
|
||
|
Source = {"fire_01", "fire_02", "fire_03"},
|
||
|
Time = 0.9,
|
||
|
ShellEjectAt = 0.05,
|
||
|
SoundTable = {
|
||
|
{ s = mech, t = 0, v = 0.5 }
|
||
|
},
|
||
|
},
|
||
|
["fire_iron"] = {
|
||
|
Source = {"fire_01", "fire_02", "fire_03"},
|
||
|
Time = 0.9,
|
||
|
ShellEjectAt = 0.05,
|
||
|
SoundTable = {
|
||
|
{ s = common .. "common_mech_heavy.ogg", t = 0 },
|
||
|
{ s = mech, t = 0 }
|
||
|
},
|
||
|
},
|
||
|
["fire_jammed"] = {
|
||
|
Source = "fire_jammed",
|
||
|
SoundTable = {
|
||
|
{ s = mech, t = 0 }
|
||
|
},
|
||
|
},
|
||
|
["fire_empty"] = {
|
||
|
Source = "fire_empty",
|
||
|
Time = 0.9,
|
||
|
ShellEjectAt = 0.05,
|
||
|
SoundTable = {
|
||
|
{ s = path .. "mech_last.ogg", t = 0 }
|
||
|
},
|
||
|
},
|
||
|
["fire_iron_empty"] = {
|
||
|
Source = "fire_empty",
|
||
|
Time = 0.9,
|
||
|
ShellEjectAt = 0.05,
|
||
|
SoundTable = {
|
||
|
{ s = common .. "common_mech_heavy.ogg", t = 0 },
|
||
|
{ s = path .. "mech-last.ogg", t = 0 }
|
||
|
},
|
||
|
},
|
||
|
|
||
|
-- 7-R Reloads --
|
||
|
|
||
|
["reload"] = {
|
||
|
Source = "reload",
|
||
|
TPAnim = ACT_HL2MP_GESTURE_RELOAD_PISTOL,
|
||
|
MinProgress = 1.3525,
|
||
|
Time = 2.2,
|
||
|
LastClip1OutTime = 0.9,
|
||
|
LHIK = true,
|
||
|
LHIKIn = 0.2,
|
||
|
LHIKEaseIn = 0.2,
|
||
|
LHIKEaseOut = 0.6,
|
||
|
LHIKOut = 0.62,
|
||
|
SoundTable = {
|
||
|
{ s = rottle, t = 0 / 60, c = ca },
|
||
|
{ s = common .. "magrelease.ogg", t = 7 / 60, c = ca },
|
||
|
{ s = path .. "magout.ogg", t = 6 / 60, c = ca },
|
||
|
{ s = rottle, t = 10 / 60, c = ca },
|
||
|
{ s = common .. "magpouch_pull_small.ogg", t = 30 / 60, c = ca },
|
||
|
{ s = rottle, t = 55 / 60, c = ca },
|
||
|
{ s = path .. "magin_miss.ogg", t = 61 / 60, c = ca },
|
||
|
{ s = path .. "magin_old.ogg", t = 66 / 60, c = ca },
|
||
|
},
|
||
|
},
|
||
|
["reload_empty"] = {
|
||
|
Source = "reload_empty",
|
||
|
TPAnim = ACT_HL2MP_GESTURE_RELOAD_PISTOL,
|
||
|
MinProgress = 1.75,
|
||
|
Time = 2.55,
|
||
|
LastClip1OutTime = 0.76,
|
||
|
LHIK = true,
|
||
|
LHIKIn = 0.1,
|
||
|
LHIKEaseIn = 0.1,
|
||
|
LHIKEaseOut = 0.55,
|
||
|
LHIKOut = 0.7,
|
||
|
SoundTable = {
|
||
|
{ s = rottle, t = 0 / 60, c = ca },
|
||
|
{ s = common .. "magrelease.ogg", t = 7 / 60, c = ca },
|
||
|
{ s = path .. "magout_old.ogg", t = 8 / 60, c = ca },
|
||
|
{ s = rottle, t = 10 / 60, c = ca },
|
||
|
{ s = common .. "magpouch_pull_small.ogg", t = 26 / 60, c = ca },
|
||
|
{ s = common .. "pistol_magdrop.ogg", t = 40 / 60, c = ca },
|
||
|
{ s = rottle, t = 55 / 60, c = ca },
|
||
|
{ s = path .. "magin_miss.ogg", t = 58 / 60, c = ca },
|
||
|
{ s = path .. "magin_old.ogg", t = 62 / 60, c = ca },
|
||
|
{ s = path .. "chamber.ogg", t = 90 / 60, c = ca },
|
||
|
{ s = rottle, t = 75 / 60, c = ca },
|
||
|
},
|
||
|
},
|
||
|
|
||
|
-- 10-R Reloads --
|
||
|
|
||
|
["reload_10"] = {
|
||
|
Source = "reload_exte",
|
||
|
TPAnim = ACT_HL2MP_GESTURE_RELOAD_PISTOL,
|
||
|
MinProgress = 1.3525,
|
||
|
Time = 139 / 60,
|
||
|
LastClip1OutTime = 0.9,
|
||
|
LHIK = true,
|
||
|
LHIKIn = 0.2,
|
||
|
LHIKEaseIn = 0.2,
|
||
|
LHIKEaseOut = 0.6,
|
||
|
LHIKOut = 0.62,
|
||
|
SoundTable = {
|
||
|
{ s = rottle, t = 0 / 60, c = ca },
|
||
|
{ s = common .. "magrelease.ogg", t = 7 / 60, c = ca },
|
||
|
{ s = path .. "magout.ogg", t = 6 / 60, c = ca },
|
||
|
{ s = rottle, t = 10 / 60, c = ca },
|
||
|
{ s = common .. "magpouch.ogg", t = 30 / 60, c = ca },
|
||
|
{ s = rottle, t = 55 / 60, c = ca },
|
||
|
{ s = path .. "magin_miss.ogg", t = 64 / 60, c = ca },
|
||
|
{ s = path .. "magin_old.ogg", t = 71 / 60, c = ca },
|
||
|
},
|
||
|
},
|
||
|
["reload_empty_10"] = {
|
||
|
Source = "reload_empty_exte",
|
||
|
TPAnim = ACT_HL2MP_GESTURE_RELOAD_PISTOL,
|
||
|
MinProgress = 1.75,
|
||
|
Time = 160 / 60,
|
||
|
LastClip1OutTime = 0.76,
|
||
|
LHIK = true,
|
||
|
LHIKIn = 0.1,
|
||
|
LHIKEaseIn = 0.1,
|
||
|
LHIKEaseOut = 0.55,
|
||
|
LHIKOut = 0.7,
|
||
|
SoundTable = {
|
||
|
{ s = rottle, t = 0 / 60, c = ca },
|
||
|
{ s = common .. "magrelease.ogg", t = 7 / 60, c = ca },
|
||
|
{ s = path .. "magout_old.ogg", t = 8 / 60, c = ca },
|
||
|
{ s = rottle, t = 10 / 60, c = ca },
|
||
|
{ s = common .. "magpouch.ogg", t = 26 / 60, c = ca },
|
||
|
{ s = common .. "pistol_magdrop.ogg", t = 40 / 60, c = ca },
|
||
|
{ s = rottle, t = 55 / 60, c = ca },
|
||
|
{ s = path .. "magin_miss.ogg", t = 60 / 60, c = ca },
|
||
|
{ s = path .. "magin_old.ogg", t = 66 / 60, c = ca },
|
||
|
{ s = path .. "chamber.ogg", t = 94 / 60, c = ca },
|
||
|
{ s = rottle, t = 75 / 60, c = ca },
|
||
|
},
|
||
|
},
|
||
|
|
||
|
["unjam"] = {
|
||
|
Source = "unjam",
|
||
|
Time = 0.9,
|
||
|
-- ShellEjectAt = 0.65,
|
||
|
SoundTable = {
|
||
|
{s = rottle, t = 0},
|
||
|
{s = path .. "unjam.ogg", t = .4}
|
||
|
},
|
||
|
LHIK = true,
|
||
|
LHIKIn = .2,
|
||
|
LHIKOut = .2,
|
||
|
LHIKEaseOut = .75,
|
||
|
},
|
||
|
-- Inspecc --
|
||
|
["enter_inspect"] = {
|
||
|
Source = "enter_inspect",
|
||
|
time = 35 / 60,
|
||
|
LHIK = true,
|
||
|
LHIKIn = 0.3,
|
||
|
LHIKOut = 0,
|
||
|
SoundTable = {
|
||
|
{s = rottle, t = 0},
|
||
|
{s = rutle, t = 0.1},
|
||
|
},
|
||
|
},
|
||
|
["idle_inspect"] = {
|
||
|
Source = "idle_inspect",
|
||
|
time = 72 / 60,
|
||
|
LHIK = true,
|
||
|
LHIKIn = 0,
|
||
|
LHIKOut = 0,
|
||
|
},
|
||
|
["exit_inspect"] = {
|
||
|
Source = "exit_inspect",
|
||
|
time = 66 / 60,
|
||
|
LHIK = true,
|
||
|
LHIKIn = 0,
|
||
|
LHIKEaseOut = 0.3,
|
||
|
LHIKOut = 0.84,
|
||
|
SoundTable = {
|
||
|
{ s = rottle, t = 0 / 60, c = ca },
|
||
|
{ s = common .. "magrelease.ogg", t = 7 / 60, c = ca },
|
||
|
{ s = path .. "magout.ogg", t = 8 / 60, c = ca },
|
||
|
{ s = rottle, t = 100 / 60, c = ca },
|
||
|
{ s = path .. "magin_miss.ogg", t = 106 / 60, c = ca },
|
||
|
{ s = path .. "magin_old.ogg", t = 114 / 60, c = ca },
|
||
|
{ s = path .. "rack1.ogg", t = 155 / 60, c = ca },
|
||
|
{ s = rottle, t = 160 / 60, c = ca },
|
||
|
{ s = path .. "rack2.ogg", t = 178 / 60, c = ca },
|
||
|
{ s = rottle, t = 180 / 60, c = ca },
|
||
|
},
|
||
|
},
|
||
|
|
||
|
["enter_inspect_empty"] = {
|
||
|
Source = "enter_inspect_empty",
|
||
|
time = 35 / 60,
|
||
|
LHIK = true,
|
||
|
LHIKIn = 0.1,
|
||
|
LHIKOut = 0,
|
||
|
SoundTable = {
|
||
|
},
|
||
|
},
|
||
|
["idle_inspect_empty"] = {
|
||
|
Source = "idle_inspect_empty",
|
||
|
time = 72 / 60,
|
||
|
LHIK = true,
|
||
|
LHIKIn = 0,
|
||
|
LHIKOut = 0,
|
||
|
},
|
||
|
["exit_inspect_empty"] = {
|
||
|
Source = "exit_inspect_empty",
|
||
|
time = 66 / 60,
|
||
|
LHIK = true,
|
||
|
LHIKIn = 0,
|
||
|
LHIKEaseOut = 0.3,
|
||
|
LHIKOut = 0.84,
|
||
|
SoundTable = {
|
||
|
{ s = rottle, t = 0 / 60, c = ca },
|
||
|
{ s = common .. "magrelease.ogg", t = 7 / 60, c = ca },
|
||
|
{ s = path .. "magout.ogg", t = 8 / 60, c = ca },
|
||
|
{ s = rottle, t = 100 / 60, c = ca },
|
||
|
{ s = path .. "magin_miss.ogg", t = 106 / 60, c = ca },
|
||
|
{ s = path .. "magin_old.ogg", t = 114 / 60, c = ca },
|
||
|
{ s = rottle, t = 160 / 60, c = ca },
|
||
|
},
|
||
|
},
|
||
|
|
||
|
["enter_inspect_jammed"] = {
|
||
|
Source = "enter_inspect_jammed",
|
||
|
time = 35 / 60,
|
||
|
LHIK = true,
|
||
|
LHIKIn = 0.1,
|
||
|
LHIKOut = 0,
|
||
|
SoundTable = {
|
||
|
},
|
||
|
},
|
||
|
["idle_inspect_jammed"] = {
|
||
|
Source = "idle_inspect_jammed",
|
||
|
time = 72 / 60,
|
||
|
LHIK = true,
|
||
|
LHIKIn = 0,
|
||
|
LHIKOut = 0,
|
||
|
},
|
||
|
["exit_inspect_jammed"] = {
|
||
|
Source = "exit_inspect_jammed",
|
||
|
time = 66 / 60,
|
||
|
LHIK = true,
|
||
|
LHIKIn = 0,
|
||
|
LHIKEaseOut = 0.3,
|
||
|
LHIKOut = 0.84,
|
||
|
SoundTable = {
|
||
|
{ s = rottle, t = 0 / 60, c = ca },
|
||
|
{ s = common .. "magrelease.ogg", t = 7 / 60, c = ca },
|
||
|
{ s = path .. "magout.ogg", t = 8 / 60, c = ca },
|
||
|
{ s = rottle, t = 100 / 60, c = ca },
|
||
|
{ s = path .. "magin_miss.ogg", t = 106 / 60, c = ca },
|
||
|
{ s = path .. "magin_old.ogg", t = 114 / 60, c = ca },
|
||
|
{ s = rottle, t = 160 / 60, c = ca },
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
|
||
|
-- ADS animation blending, thanks fesiug --
|
||
|
|
||
|
SWEP.Hook_Think = function(wep)
|
||
|
if IsValid(wep) and wep.ArcCW then
|
||
|
local vm = wep:GetOwner():GetViewModel()
|
||
|
|
||
|
local delta = 1-wep:GetSightDelta()
|
||
|
|
||
|
local bipoded = wep:GetInBipod()
|
||
|
wep.ADSBipodAnims = math.Approach(wep.ADSBipodAnims or 0, bipoded and 1 or 0, FrameTime() / 0.5)
|
||
|
|
||
|
vm:SetPoseParameter("sights", Lerp( math.ease.InOutCubic(math.max(delta, wep.ADSBipodAnims)), 0, 1)) -- thanks fesiug
|
||
|
|
||
|
local slot = wep.Attachments[3].Installed
|
||
|
if wep.Attachments[7].Installed or slot == "ur_deagle_caliber_357" then
|
||
|
vm:SetPoseParameter("light", 1)
|
||
|
elseif slot == "ur_deagle_caliber_44" then
|
||
|
vm:SetPoseParameter("light", .5)
|
||
|
else
|
||
|
vm:SetPoseParameter("light", 0)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
|
||
|
-- Attachments --
|
||
|
|
||
|
SWEP.CamAttachment = 3
|
||
|
|
||
|
SWEP.Attachments = {
|
||
|
{
|
||
|
PrintName = "Optic",
|
||
|
Slot = {"optic_lp","ur_deagle_tritium","optic"},
|
||
|
DefaultAttName = "Iron Sights",
|
||
|
Bone = "Body",
|
||
|
Offset = {
|
||
|
vpos = Vector(0, -5.15, 6.4),
|
||
|
vang = Angle(90, 0, -90),
|
||
|
},
|
||
|
},
|
||
|
{
|
||
|
PrintName = "Barrel",
|
||
|
Slot = {"ur_deagle_barrel"},
|
||
|
DefaultAttIcon = Material("entities/att/acwatt_ur_deagle_barrel.png","mips smooth"),
|
||
|
DefaultAttName = "6\" Standard Barrel",
|
||
|
Bone = "Body",
|
||
|
Offset = {
|
||
|
vpos = Vector(3.07, -3.8, -27),
|
||
|
vang = Angle(90, 0, -90),
|
||
|
},
|
||
|
},
|
||
|
{
|
||
|
PrintName = "Caliber",
|
||
|
Slot = {"ur_deagle_caliber"},
|
||
|
DefaultAttIcon = Material("entities/att/uc_bullets/50ae.png","mips smooth"),
|
||
|
DefaultAttName = ".50 Action Express",
|
||
|
Bone = "Body",
|
||
|
Offset = {
|
||
|
vpos = Vector(3.07, -3.8, -27),
|
||
|
vang = Angle(90, 0, -90),
|
||
|
},
|
||
|
},
|
||
|
{
|
||
|
PrintName = "Muzzle",
|
||
|
DefaultAttName = "Standard Muzzle",
|
||
|
Slot = {"muzzle"},
|
||
|
Bone = "Barrel",
|
||
|
Offset = {
|
||
|
vpos = Vector(0, 0, 0.75),
|
||
|
vang = Angle(90, 0, -90),
|
||
|
},
|
||
|
InstalledEles = {"nofh"},
|
||
|
ExcludeFlags = {"barrel_annihilator"},
|
||
|
Hidden = true,
|
||
|
Integral = true,
|
||
|
},
|
||
|
{
|
||
|
PrintName = "Tactical",
|
||
|
InstalledEles = {"tac_rail"},
|
||
|
Slot = {"tac_pistol"},
|
||
|
Bone = "Body",
|
||
|
Offset = {
|
||
|
vpos = Vector(0, -3.5, 7),
|
||
|
vang = Angle(90, 0, -90),
|
||
|
},
|
||
|
MergeSlots = {15},
|
||
|
},
|
||
|
{
|
||
|
PrintName = "Magazine",
|
||
|
Slot = {"ur_deagle_mag"},
|
||
|
DefaultAttIcon = Material("entities/att/acwatt_ur_deagle_mag_7.png","mips smooth"),
|
||
|
DefaultAttName = "7-Round Mag",
|
||
|
},
|
||
|
{
|
||
|
PrintName = "Stock",
|
||
|
Slot = {"uc_stock", "go_stock_pistol_bt"},
|
||
|
VMScale = Vector(1.1, 1.1, 1.1),
|
||
|
Bone = "Body",
|
||
|
Offset = {
|
||
|
vpos = Vector(0, -0.25, -1),
|
||
|
vang = Angle(90, 0, -90),
|
||
|
},
|
||
|
},
|
||
|
{
|
||
|
PrintName = "Grip",
|
||
|
DefaultAttName = "Factory Grip",
|
||
|
DefaultAttIcon = Material("entities/att/acwatt_ur_deagle_grip_plastic.png","mips smooth"),
|
||
|
Slot = "ur_deagle_grip"
|
||
|
},
|
||
|
{
|
||
|
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", -- Fire group
|
||
|
DefaultAttName = "Standard Internals"
|
||
|
},
|
||
|
{
|
||
|
PrintName = "Charm",
|
||
|
Slot = {"charm","fml_charm"},
|
||
|
FreeSlot = true,
|
||
|
Bone = "Body",
|
||
|
Offset = {
|
||
|
vpos = Vector(0.55, -3.4, 4.2),
|
||
|
vang = Angle(90, 0, -90),
|
||
|
},
|
||
|
VMScale = Vector(.65,.65,.65),
|
||
|
},
|
||
|
{
|
||
|
PrintName = "Finish",
|
||
|
Slot = {"ur_deagle_skin"},
|
||
|
DefaultAttName = "Stainless Steel",
|
||
|
DefaultAttIcon = Material("entities/att/acwatt_ur_deagle_finish_default.png","mips smooth"),
|
||
|
FreeSlot = true,
|
||
|
},
|
||
|
{
|
||
|
PrintName = "M203 slot",
|
||
|
Slot = "uc_ubgl",
|
||
|
Bone = "Body",
|
||
|
Offset = {
|
||
|
vpos = Vector(0, -4.8, 6.0),
|
||
|
vang = Angle(90, 0, -90),
|
||
|
},
|
||
|
Hidden = true,
|
||
|
}
|
||
|
}
|