mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-17 13:53:45 +03:00
Upload
This commit is contained in:
@@ -0,0 +1,233 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Overwatch Weapons" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "Pulse Rifle"
|
||||
SWEP.TrueName = "Overwatch Standard Issue Pulse-Rifle"
|
||||
|
||||
-- Technically you can omit all trivia info, but that's not fun! Do a bit of research and write some stuff in!
|
||||
SWEP.Trivia_Class = "Pulse Rifle"
|
||||
SWEP.Trivia_Desc = "Overwatch Pulse Rifle given to most combine soldiers, developed from the V952.71.2 Prototype. Later models feature a integrated reflex sight, which display a black screen unless viewed through a Combine Soldier's visor. Removing the sight renders the weapon inoperable; perhaps a failsafe against rebels looting the weapon."
|
||||
SWEP.Trivia_Manufacturer = "The Combine"
|
||||
SWEP.Trivia_Calibre = "Medium Pulse Capsule"
|
||||
SWEP.Trivia_Mechanism = "Dark Energy Thumper"
|
||||
SWEP.Trivia_Country = "Universal Union - Earth Overwatch"
|
||||
SWEP.Trivia_Year = "Occupation Period 3, 203x"
|
||||
|
||||
SWEP.Slot = 2
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then
|
||||
SWEP.PrintName = SWEP.TrueName
|
||||
SWEP.Trivia_Manufacturer = "The Combine"
|
||||
end
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/oar2/v_o2rifle.mdl"
|
||||
SWEP.WorldModel = "models/weapons/w_IRifle.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
|
||||
SWEP.Damage = 20
|
||||
SWEP.DamageMin = 20
|
||||
SWEP.Range = 250 -- in METRES
|
||||
SWEP.Penetration = 15
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 925 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
SWEP.ChamberSize = 0 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 30 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 60
|
||||
SWEP.ReducedClipSize = 20
|
||||
|
||||
SWEP.Recoil = 0.45
|
||||
SWEP.RecoilSide = 0.55
|
||||
SWEP.RecoilRise = 1
|
||||
SWEP.RecoilPunch = 2.5
|
||||
|
||||
SWEP.Delay = 60 / 600 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 2,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_ar2"
|
||||
SWEP.NPCWeight = 150
|
||||
|
||||
SWEP.AccuracyMOA = 5 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 95 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 225
|
||||
|
||||
SWEP.Primary.Ammo = "StriderMinigun" -- what ammo type the gun uses
|
||||
SWEP.MagID = "oar" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 115 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 100 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "weapons/oar2/ar2/fire1.wav"
|
||||
SWEP.ShootSoundSilenced = "weapons/ar21/primary.wav"
|
||||
SWEP.DistantShootSound = "weapons/oar/ar2.dist1.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_1"
|
||||
SWEP.ShellModel = nil
|
||||
SWEP.ShellScale = 0
|
||||
SWEP.ShellMaterial = nil
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.SpeedMult = 0.95
|
||||
SWEP.SightedSpeedMult = 0.65
|
||||
SWEP.SightTime = 0.33
|
||||
SWEP.VisualRecoilMult = 1
|
||||
|
||||
SWEP.BulletBones = { -- the bone that represents bullets in gun/mag
|
||||
-- [0] = "bulletchamber",
|
||||
-- [1] = "bullet1"
|
||||
}
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.CaseBones = {}
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-5.86, -6.494, 1.770),
|
||||
Ang = Angle(0, 0, 0),
|
||||
Magnification = 1.1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
CrosshairInSights = false
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
SWEP.ActivePos = Vector(0, 0, 2)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.HolsterPos = Vector(0.532, -6, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.BarrelLength = 27
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
|
||||
}
|
||||
|
||||
SWEP.ExtraSightDist = 5
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = "tac",
|
||||
Bone = "Base",
|
||||
Offset = {
|
||||
vpos = Vector(1.631, 4.261, 23.079), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(90, 0, 0),
|
||||
wpos = Vector(15.625, -0.1, -6.298),
|
||||
wang = Angle(-8.829, -0.556, 90)
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Grip",
|
||||
Slot = "grip",
|
||||
DefaultAttName = "Standard Grip"
|
||||
},
|
||||
{
|
||||
PrintName = "Stock",
|
||||
Slot = "stock",
|
||||
DefaultAttName = "Standard Stock"
|
||||
},
|
||||
{
|
||||
PrintName = "Fire Group",
|
||||
Slot = "fcg",
|
||||
DefaultAttName = "Standard FCG"
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
Slot = "ammo_bullet"
|
||||
},
|
||||
{
|
||||
PrintName = "Perk",
|
||||
Slot = "perk"
|
||||
},
|
||||
{
|
||||
PrintName = "Charm",
|
||||
Slot = "charm",
|
||||
FreeSlot = true,
|
||||
Bone = "ociw master", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(-1.158, -1.022, 2.867), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, 90, 0),
|
||||
wpos = Vector(6.099, 1.1, -3.301),
|
||||
wang = Angle(171.817, 180-1.17, 0),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle_ironsight",
|
||||
Time = 0
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "IR_draw",
|
||||
Time = 0.4,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
|
||||
["fire"] = {
|
||||
Source = {"IR_fire", "fire2", "fire3", "fire4"},
|
||||
Time = 0.25,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "IR_idle",
|
||||
Time = 0.25,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "IR_reload",
|
||||
Time = 1.7,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Framerate = 37,
|
||||
Checkpoints = {28, 38, 69},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {{s = "weapons/oar2/ar2/npc_ar2_reload.wav", t = 0}},
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reloadempty",
|
||||
Time = 1.7,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Framerate = 37,
|
||||
Checkpoints = {28, 38, 69},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {{s = "weapons/oar2/ar2/npc_ar2_reload.wav", t = 0}},
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,267 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Overwatch Weapons" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "Heavy Pulse Rifle"
|
||||
SWEP.TrueName = "Overwatch Hammer Issue"
|
||||
|
||||
-- Technically you can omit all trivia info, but that's not fun! Do a bit of research and write some stuff in!
|
||||
SWEP.Trivia_Class = "Heavy Assault Rifle"
|
||||
SWEP.Trivia_Desc = "A heavier, more powerful version of the Combine Pulse-Rifle. Extremely inaccurate when moving. Ball launcher not included and is sold separately."
|
||||
SWEP.Trivia_Manufacturer = "The Combine"
|
||||
SWEP.Trivia_Calibre = "High-Mass Pulse Capsule"
|
||||
SWEP.Trivia_Mechanism = "Dark Energy Thumper"
|
||||
SWEP.Trivia_Country = "Universal Union - Earth Overwatch"
|
||||
SWEP.Trivia_Year = "Occupation Period 3, 203x"
|
||||
|
||||
SWEP.Slot = 3
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then
|
||||
SWEP.PrintName = SWEP.TrueName
|
||||
SWEP.Trivia_Manufacturer = "The Combine"
|
||||
end
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/irifle2/c_irifle2.mdl"
|
||||
SWEP.WorldModel = "models/weapons/irifle2/w_irifle2.mdl"
|
||||
SWEP.ViewModelFOV = 90
|
||||
|
||||
SWEP.Damage = 23
|
||||
SWEP.DamageMin = 23
|
||||
SWEP.Range = 250 -- in METRES
|
||||
SWEP.Penetration = 30
|
||||
SWEP.DamageType = DMG_AIRBOAT
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 900 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
SWEP.ChamberSize = 0 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 24 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 48
|
||||
SWEP.ReducedClipSize = 12
|
||||
|
||||
SWEP.Recoil = 0.7
|
||||
SWEP.RecoilSide = 0.5
|
||||
SWEP.RecoilRise = 0.02
|
||||
|
||||
|
||||
SWEP.Delay = 60 / 387 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 2,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_ar2"
|
||||
SWEP.NPCWeight = 150
|
||||
|
||||
SWEP.AccuracyMOA = 8 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 150 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 600
|
||||
|
||||
SWEP.Primary.Ammo = "ar2" -- what ammo type the gun uses
|
||||
SWEP.MagID = "ar21" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 115 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 100 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "weapons/ar21/primary.wav"
|
||||
SWEP.ShootSoundSilenced = "weapons/ar21/primary.wav"
|
||||
SWEP.DistantShootSound = "weapons/ar21/primary.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_1"
|
||||
SWEP.ShellModel = nil
|
||||
SWEP.ShellScale = 0
|
||||
SWEP.ShellMaterial = nil
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.SpeedMult = 0.94
|
||||
SWEP.SightedSpeedMult = 0.5
|
||||
SWEP.SightTime = 0.33
|
||||
SWEP.VisualRecoilMult = 1
|
||||
SWEP.RecoilRise = 1
|
||||
|
||||
SWEP.BulletBones = { -- the bone that represents bullets in gun/mag
|
||||
-- [0] = "bulletchamber",
|
||||
-- [1] = "bullet1"
|
||||
}
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.CaseBones = {}
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(0, 0, 0),
|
||||
Ang = Angle(0, 0, 0),
|
||||
Magnification = 1.5,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
CrosshairInSights = true
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
SWEP.ActivePos = Vector(-2, -6, 0)
|
||||
SWEP.ActiveAng = Angle(2, 0, 0)
|
||||
|
||||
SWEP.HolsterPos = Vector(0.532, -6, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.BarrelLength = 27
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["extendedmag"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 1}},
|
||||
WMBodygroups = {{ind = 1, bg = 1}},
|
||||
},
|
||||
|
||||
["reducedmag"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 2}},
|
||||
WMBodygroups = {{ind = 1, bg = 2}},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.ExtraSightDist = 5
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic", -- print name
|
||||
DefaultAttName = "Magic Zoom",
|
||||
Slot = {"optic", "optic_lp"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "ociw master", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(0.01, -4.495, 4.716), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, 90, 0),
|
||||
wpos = Vector(6.099, 0.699, -6.301),
|
||||
wang = Angle(171.817, 180-1.17, 0),
|
||||
},
|
||||
|
||||
CorrectivePos = Vector(0, 0, 0),
|
||||
CorrectiveAng = Angle(0, 180, 0),
|
||||
},
|
||||
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = {"ubgl"},
|
||||
Bone = "ociw master",
|
||||
Offset = {
|
||||
vpos = Vector(-0.311, -9.306, -0.087),
|
||||
vang = Angle(0, 90, 0),
|
||||
wpos = Vector(17, 0.6, -4.676),
|
||||
wang = Angle(-10, 0, 180)
|
||||
},
|
||||
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = "tac",
|
||||
Bone = "ociw master",
|
||||
Offset = {
|
||||
vpos = Vector(-1.05, -4.038, 3.24), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, 90, 90),
|
||||
wpos = Vector(15.625, -0.1, -6.298),
|
||||
wang = Angle(-8.829, -0.556, 90)
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Grip",
|
||||
Slot = "grip",
|
||||
DefaultAttName = "Standard Grip"
|
||||
},
|
||||
{
|
||||
PrintName = "Stock",
|
||||
Slot = "stock",
|
||||
DefaultAttName = "Standard Stock"
|
||||
},
|
||||
{
|
||||
PrintName = "Fire Group",
|
||||
Slot = "fcg",
|
||||
DefaultAttName = "Standard FCG"
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
Slot = "ammo_bullet"
|
||||
},
|
||||
{
|
||||
PrintName = "Perk",
|
||||
Slot = "perk"
|
||||
},
|
||||
{
|
||||
PrintName = "Charm",
|
||||
Slot = "charm",
|
||||
FreeSlot = true,
|
||||
Bone = "ociw master", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(-1.158, -1.022, 2.867), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, 90, 0),
|
||||
wpos = Vector(6.099, 1.1, -3.301),
|
||||
wang = Angle(171.817, 180-1.17, 0),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = false,
|
||||
["draw"] = {
|
||||
Source = "IR_draw",
|
||||
Time = 0.4,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
|
||||
["fire"] = {
|
||||
Source = {"fire2", "fire3", "fire4"},
|
||||
Time = 0.5,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "IR_fire",
|
||||
Time = 0.1,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "IR_reload",
|
||||
Time = 2.5,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Framerate = 37,
|
||||
Checkpoints = {28, 38, 69},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {{s = "weapons/ar21/ar2_reload_push.wav", t = 0}},
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "IR_reload",
|
||||
Time = 2.5,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Framerate = 37,
|
||||
Checkpoints = {28, 38, 69},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {{s = "weapons/ar21/ar2_reload_push.wav", t = 0}},
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,584 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Oldie Weaponry" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "M1911"
|
||||
SWEP.TrueName = "M1911"
|
||||
SWEP.Trivia_Class = "Pistol"
|
||||
SWEP.Trivia_Desc = "Commonly known simply as Colt, the M1911 is one of the most famous handguns on the planet. It went through both World War's as a standard-issue US Army pistol, and despite that it was replaced in 1986, its further variations are still a sidearm of choice in different US Special Forces. M1911A1 is the further generation of a M1911 pistol, after World War I, the military's Model 1911 went through various changes including shorter trigger with frame cuts, improved sights, an arched mainspring housing and a redesigned grip safety."
|
||||
SWEP.Trivia_Manufacturer = "Colt"
|
||||
SWEP.Trivia_Calibre = ".45 ACP"
|
||||
SWEP.Trivia_Mechanism = "Short Recoil"
|
||||
SWEP.Trivia_Country = "Italy"
|
||||
SWEP.Trivia_Year = 1911
|
||||
|
||||
SWEP.Slot = 1
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arc_eft_1911/c_eft_1911/models/c_eft_1911.mdl"
|
||||
SWEP.WorldModel = "models/weapons/w_pist_usp.mdl"
|
||||
SWEP.ViewModelFOV = 70
|
||||
|
||||
SWEP.DefaultBodygroups = "000000000000"
|
||||
|
||||
SWEP.Damage = 14
|
||||
SWEP.DamageMin = 14 -- damage done at maximum range
|
||||
SWEP.Range = 100 -- in METRES
|
||||
SWEP.Penetration = 3
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
-- IN M/S
|
||||
SWEP.ChamberSize = 1 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 12 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 17
|
||||
|
||||
SWEP.PhysBulletMuzzleVelocity = 200
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
SWEP.CamAttachment = 3 -- if set, this attachment will control camera movement
|
||||
|
||||
SWEP.Recoil = 1.0
|
||||
SWEP.RecoilSide = 0.3
|
||||
SWEP.RecoilRise = 0.3
|
||||
SWEP.RecoilPunch = -2
|
||||
|
||||
SWEP.Delay = 60 / 350 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_pistol"
|
||||
SWEP.NPCWeight = 100
|
||||
|
||||
SWEP.AccuracyMOA = 12 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 350 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 250
|
||||
|
||||
SWEP.Primary.Ammo = "pistol" -- what ammo type the gun uses
|
||||
SWEP.MagID = "1911" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 110 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 100 -- pitch of shoot sound
|
||||
|
||||
SWEP.FirstShootSound = "weapons/m1911/m1911_fp.wav"
|
||||
SWEP.ShootSound = "weapons/m1911/m1911_fp.wav"
|
||||
SWEP.ShootSoundSilenced = "weapons/m1911/m1911_silenced_fp.wav"
|
||||
SWEP.DistantShootSound = "weapons/m1911/m1911_dist.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_pistol"
|
||||
SWEP.ShellModel = "models/shells/shell_9mm.mdl"
|
||||
SWEP.ShellPitch = 100
|
||||
SWEP.ShellScale = 1.75
|
||||
SWEP.ShellRotateAngle = Angle(0, 180, 0)
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.SpeedMult = 0.99
|
||||
SWEP.SightedSpeedMult = 0.85
|
||||
SWEP.SightTime = 0.2
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-3.725, 2.5, 2.025),
|
||||
Ang = Angle(1, 0, 0),
|
||||
Magnification = 1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
CrosshairInSights = false
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "normal"
|
||||
SWEP.HoldtypeActive = "pistol"
|
||||
SWEP.HoldtypeSights = "revolver"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_PISTOL
|
||||
|
||||
SWEP.ActivePos = Vector(0, 2, 1.5)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.CrouchPos = Vector(-4, 0, -1)
|
||||
SWEP.CrouchAng = Angle(0, 0, -10)
|
||||
|
||||
SWEP.HolsterPos = Vector(3, 3, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
SWEP.BarrelOffsetCrouch = Vector(0, 0, -2)
|
||||
|
||||
SWEP.CustomizePos = Vector(0, 2, 0.5)
|
||||
SWEP.CustomizeAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.BarrelLength = 26
|
||||
|
||||
SWEP.BulletBones = { -- the bone that represents bullets in gun/mag
|
||||
[1] = "patron_001",
|
||||
[2] = "patron_002"
|
||||
}
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["default_barrel"] = {
|
||||
VMBodygroups = {{ind = 3, bg = 1}},
|
||||
},
|
||||
["optic_mount"] = {
|
||||
VMBodygroups = {{ind = 10, bg = 1}},
|
||||
},
|
||||
["trigger_mount"] = {
|
||||
VMBodygroups = {{ind = 9, bg = 1}},
|
||||
},
|
||||
["default_mag"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 1}},
|
||||
},
|
||||
["default_hammer"] = {
|
||||
VMBodygroups = {{ind = 7, bg = 1}},
|
||||
},
|
||||
["default_trigger"] = {
|
||||
VMBodygroups = {{ind = 8, bg = 1}},
|
||||
},
|
||||
["default_grip"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 1}},
|
||||
},
|
||||
["default_catch"] = {
|
||||
VMBodygroups = {{ind = 5, bg = 1}},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.ExtraSightDist = 20
|
||||
SWEP.GuaranteeLaser = true
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-12.5, 4, -2.5),
|
||||
ang = Angle(-10, 0, 180)
|
||||
}
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic", -- print name
|
||||
DefaultAttName = "Iron Sights",
|
||||
Slot = "eft_optic_small", -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "weapon", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(-0.075, 21, 1.5),
|
||||
vang = Angle(0, -90, 0),
|
||||
wpos = Vector(0, 0, 0),
|
||||
wang = Angle(-5, 0, 0),
|
||||
},
|
||||
SlideAmount = { -- how far this attachment can slide in both directions.
|
||||
-- overrides Offset
|
||||
vmin = Vector(-0.075, 20, 1.5),
|
||||
vmax = Vector(-0.075, 22, 1.5),
|
||||
wmin = Vector(5.5, 0.5, -5.8),
|
||||
wmax = Vector(6.5, 0.5, -5.9),
|
||||
},
|
||||
CorrectivePos = Vector(0, 0, 0),
|
||||
CorrectiveAng = Angle(0, 180, 0),
|
||||
InstalledEles = {"optic_mount"},
|
||||
ExcludeFlags = {"triggermountattached"},
|
||||
GivesFlags = {"opticmountattached"},
|
||||
},
|
||||
{
|
||||
PrintName = "Barrel", -- print name
|
||||
DefaultAttName = "Standard Barrel",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/1911_barrel_icon.png"),
|
||||
Slot = "eft_barrel_1911", -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "weapon", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(-0.0734, 20.82208, -0.1864),
|
||||
vang = Angle(0, -90, 0),
|
||||
wpos = Vector(0, 0, 0),
|
||||
wang = Angle(-5, 0, 0),
|
||||
},
|
||||
InstalledEles = {"default_barrel"},
|
||||
},
|
||||
{
|
||||
PrintName = "Muzzle Device", -- print name
|
||||
DefaultAttName = "No Muzzle Device",
|
||||
Slot = "eft_muzzle_1911", -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "mod_muzzle", -- relevant bone any attachments will be mostly referring to
|
||||
RequireFlags = {"barrelthread"},
|
||||
Offset = {
|
||||
vpos = Vector(0, 0, 0),
|
||||
vang = Angle(0, -90, 0),
|
||||
wpos = Vector(0, 0, 0),
|
||||
wang = Angle(-5, 0, 0),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Catch", -- print name
|
||||
DefaultAttName = "Standard Catch",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/1911_catch_icon.png"),
|
||||
Slot = "eft_catch_1911", -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "mod_catch", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(-0, 0, -0),
|
||||
vang = Angle(0, -90, 0),
|
||||
wpos = Vector(0, 0, 0),
|
||||
wang = Angle(-5, 0, 0),
|
||||
},
|
||||
InstalledEles = {"default_catch"},
|
||||
},
|
||||
{
|
||||
PrintName = "Hammer", -- print name
|
||||
DefaultAttName = "Standard Hammer",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/1911_hammer_icon.png"),
|
||||
Slot = "eft_hammer_1911", -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "mod_hammer", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(-0, 0, -0),
|
||||
vang = Angle(0, -90, 0),
|
||||
wpos = Vector(0, 0, 0),
|
||||
wang = Angle(-5, 0, 0),
|
||||
},
|
||||
InstalledEles = {"default_hammer"},
|
||||
},
|
||||
{
|
||||
PrintName = "Trigger", -- print name
|
||||
DefaultAttName = "Standard Trigger",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/1911_trigger_icon.png"),
|
||||
Slot = "eft_trigger_1911", -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "mod_trigger", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(-0, 0, -0),
|
||||
vang = Angle(0, -90, 0),
|
||||
wpos = Vector(0, 0, 0),
|
||||
wang = Angle(-5, 0, 0),
|
||||
},
|
||||
InstalledEles = {"default_trigger"},
|
||||
},
|
||||
{
|
||||
PrintName = "Grip", -- print name
|
||||
DefaultAttName = "Standard Grip",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/1911_grip_icon.png"),
|
||||
Slot = "eft_grip_1911", -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "mod_pistol_grip", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(-0, 0, -0),
|
||||
vang = Angle(0, -90, 0),
|
||||
wpos = Vector(0, 0, 0),
|
||||
wang = Angle(-5, 0, 0),
|
||||
},
|
||||
InstalledEles = {"default_grip"},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical", -- print name
|
||||
DefaultAttName = "No Tactical",
|
||||
Slot = "eft_tactical", -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "weapon", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(0, 23.3, -0.5),
|
||||
vang = Angle(0, -90, 0),
|
||||
wpos = Vector(0, 0, 0),
|
||||
wang = Angle(-5, 0, 0),
|
||||
},
|
||||
InstalledEles = {"trigger_mount"},
|
||||
ExcludeFlags = {"opticmountattached"},
|
||||
GivesFlags = {"triggermountattached"},
|
||||
},
|
||||
{
|
||||
PrintName = "Magazine",
|
||||
DefaultAttName = "7-round Mag",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/1911_mag_icon.png"),
|
||||
InstalledEles = {"default_mag"},
|
||||
Bone = "mod_magazine",
|
||||
Offset = {
|
||||
vpos = Vector(0, 0, -0),
|
||||
vang = Angle(0, -90, 0),
|
||||
wpos = Vector(0, 0, 0),
|
||||
wang = Angle(-5, 0, 0),
|
||||
},
|
||||
Slot = "eft1911_mag"
|
||||
},
|
||||
{
|
||||
PrintName = "Caliber",
|
||||
DefaultAttName = ".45 ACP FMJ",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/9x19_Icon.png"),
|
||||
Slot = "ammo_eft_45"
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle"
|
||||
},
|
||||
["idle_empty"] = {
|
||||
Source = "idle_empty"
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "eft_shared/weap_in.wav",
|
||||
t = 0
|
||||
}
|
||||
},
|
||||
},
|
||||
["draw_empty"] = {
|
||||
Source = "draw_empty",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "eft_shared/weap_in.wav",
|
||||
t = 0
|
||||
}
|
||||
},
|
||||
},
|
||||
["holster"] = {
|
||||
Source = "holster",
|
||||
LHIK = true,
|
||||
Time = 0.5,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "eft_shared/weap_out.wav",
|
||||
t = 0
|
||||
}
|
||||
},
|
||||
},
|
||||
["holster_empty"] = {
|
||||
Source = "holster_Empty",
|
||||
LHIK = true,
|
||||
Time = 0.5,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "eft_shared/weap_out.wav",
|
||||
t = 0
|
||||
}
|
||||
},
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "draw_first",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/eft_shared/grach_catch_slider.wav",
|
||||
t = 0.65
|
||||
},
|
||||
{
|
||||
s = "weapons/eft_shared/grach_catch_slider.wav",
|
||||
t = 0.8
|
||||
}
|
||||
},
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "shoot",
|
||||
Time = 0.2,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "shoot",
|
||||
Time = 0.2,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["fire_empty"] = {
|
||||
Source = "shoot_dry",
|
||||
Time = 0.1,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["fire_iron_empty"] = {
|
||||
Source = "shoot_dry",
|
||||
Time = 0.1,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_PISTOL,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/eft_shared/grach_mag_button.wav",
|
||||
t = 0.35
|
||||
},
|
||||
{
|
||||
s = "weapons/eft_shared/grach_mag_out.wav",
|
||||
t = 0.37
|
||||
},
|
||||
{
|
||||
s = "weapons/eft_shared/grach_mag_pullout.wav",
|
||||
t = 0.4
|
||||
},
|
||||
{
|
||||
s = "weapons/eft_shared/grach_mag_pullin.wav",
|
||||
t = 1.9
|
||||
},
|
||||
{
|
||||
s = "weapons/eft_shared/grach_mag_in.wav",
|
||||
t = 2
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload_empty",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_PISTOL,
|
||||
LastClip1OutTime = 1, -- when should the belt visually replenish on a belt fed
|
||||
Time = 3.7,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/eft_shared/grach_mag_button.wav",
|
||||
t = 0.35
|
||||
},
|
||||
{
|
||||
s = "weapons/eft_shared/grach_mag_out.wav",
|
||||
t = 0.37
|
||||
},
|
||||
{
|
||||
s = "weapons/eft_shared/grach_mag_pullout.wav",
|
||||
t = 0.4
|
||||
},
|
||||
{
|
||||
s = "weapons/eft_shared/grach_mag_pullin.wav",
|
||||
t = 2.1
|
||||
},
|
||||
{
|
||||
s = "weapons/eft_shared/grach_mag_in.wav",
|
||||
t = 2.2
|
||||
},
|
||||
{
|
||||
s = "weapons/eft_shared/grach_catch_button.wav",
|
||||
t = 2.9
|
||||
},
|
||||
{
|
||||
s = "weapons/eft_shared/grach_catch_slider.wav",
|
||||
t = 3
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_long"] = {
|
||||
Source = "reload_extended",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_PISTOL,
|
||||
Time = 3,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/eft_shared/grach_mag_button.wav",
|
||||
t = 0.35
|
||||
},
|
||||
{
|
||||
s = "weapons/eft_shared/grach_mag_out.wav",
|
||||
t = 0.37
|
||||
},
|
||||
{
|
||||
s = "weapons/eft_shared/grach_mag_pullout.wav",
|
||||
t = 0.4
|
||||
},
|
||||
{
|
||||
s = "weapons/eft_shared/grach_mag_pullin.wav",
|
||||
t = 2
|
||||
},
|
||||
{
|
||||
s = "weapons/eft_shared/grach_mag_in.wav",
|
||||
t = 2.1
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_long_empty"] = {
|
||||
Source = "reload_empty_extended",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_PISTOL,
|
||||
Time = 3.7,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/eft_shared/grach_mag_button.wav",
|
||||
t = 0.35
|
||||
},
|
||||
{
|
||||
s = "weapons/eft_shared/grach_mag_out.wav",
|
||||
t = 0.37
|
||||
},
|
||||
{
|
||||
s = "weapons/eft_shared/grach_mag_pullout.wav",
|
||||
t = 0.4
|
||||
},
|
||||
{
|
||||
s = "weapons/eft_shared/grach_mag_pullin.wav",
|
||||
t = 2.1
|
||||
},
|
||||
{
|
||||
s = "weapons/eft_shared/grach_mag_in.wav",
|
||||
t = 2.2
|
||||
},
|
||||
{
|
||||
s = "weapons/eft_shared/grach_catch_button.wav",
|
||||
t = 2.9
|
||||
},
|
||||
{
|
||||
s = "weapons/eft_shared/grach_catch_slider.wav",
|
||||
t = 3
|
||||
}
|
||||
},
|
||||
},
|
||||
["enter_inspect"] = {
|
||||
Source = "customise_begin",
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["enter_inspect_empty"] = {
|
||||
Source = "customise_begin_empty",
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["idle_inspect"] = {
|
||||
Source = "customise_idle",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["idle_inspect_empty"] = {
|
||||
Source = "customise_idle_empty",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["exit_inspect"] = {
|
||||
Source = "customise_end",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.3,
|
||||
},
|
||||
["exit_inspect_empty"] = {
|
||||
Source = "customise_end_empty",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.3,
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,634 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Oldie Weaponry" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "AKS-74u"
|
||||
SWEP.Trivia_Class = "Carbine"
|
||||
SWEP.Trivia_Desc = "Reduced version of AKS-74 assault rifle, developed in the early 80s for combat vehicle crews and airborne troops, also became very popular with law enforcement and special forces for its compact size."
|
||||
SWEP.Trivia_Manufacturer = "Kalashnikov"
|
||||
SWEP.Trivia_Calibre = "5.45x39mm"
|
||||
SWEP.Trivia_Mechanism = "blowback-operated"
|
||||
SWEP.Trivia_Country = "Russia"
|
||||
SWEP.Trivia_Year = 1979
|
||||
|
||||
SWEP.Slot = 2
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arc_eft_aks74u/eft_aks74u/models/c_eft_aks74u.mdl"
|
||||
SWEP.WorldModel = "models/weapons/w_smg1.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
|
||||
SWEP.DefaultBodygroups = "000000000000"
|
||||
|
||||
SWEP.Damage = 16
|
||||
SWEP.DamageMin = 16 -- damage done at maximum range
|
||||
SWEP.Range = 90 -- in METRES
|
||||
SWEP.Penetration = 3
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 735 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
SWEP.ChamberSize = 1 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 30 -- DefaultClip is automatically set.
|
||||
|
||||
SWEP.PhysBulletMuzzleVelocity = 735
|
||||
|
||||
SWEP.Recoil = 0.6
|
||||
SWEP.RecoilSide = 0.24
|
||||
SWEP.RecoilRise = 0.35
|
||||
SWEP.RecoilPunch = 2
|
||||
|
||||
SWEP.Delay = 60 / 650 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 2,
|
||||
},
|
||||
{
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0,
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_smg1"
|
||||
SWEP.NPCWeight = 100
|
||||
|
||||
SWEP.AccuracyMOA = 14 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 300 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 200
|
||||
|
||||
SWEP.Primary.Ammo = "smg1" -- what ammo type the gun uses
|
||||
SWEP.MagID = "ak74" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 100 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 100 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "weapons/arccw_eft_aks74u/ak74_raw_close.wav"
|
||||
SWEP.ShootSoundSilenced = "weapons/arccw_eft_aks74u/ak74_silenced_close.wav"
|
||||
SWEP.DistantShootSound = "weapons/arccw_eft_aks74u/ak74_raw_far1.wav"
|
||||
|
||||
SWEP.MeleeSwingSound = "arccw_go/m249/m249_draw.wav"
|
||||
SWEP.MeleeMissSound = "weapons/iceaxe/iceaxe_swing1.wav"
|
||||
SWEP.MeleeHitSound = "arccw_go/knife/knife_hitwall1.wav"
|
||||
SWEP.MeleeHitNPCSound = "physics/body/body_medium_break2.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_mp5"
|
||||
SWEP.ShellModel = "models/shells/shell_556.mdl"
|
||||
SWEP.ShellPitch = 100
|
||||
SWEP.ShellScale = 1
|
||||
SWEP.ShellRotateAngle = Angle(0, 180, 0)
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
SWEP.CamAttachment = 3 -- if set, this attachment will control camera movement
|
||||
|
||||
SWEP.BulletBones = { -- the bone that represents bullets in gun/mag
|
||||
[0] = "patron_in_weapon",
|
||||
[1] = "patron_001",
|
||||
[2] = "patron_002",
|
||||
[3] = "patron_003"
|
||||
}
|
||||
|
||||
SWEP.SpeedMult = 0.9
|
||||
SWEP.SightedSpeedMult = 0.75
|
||||
SWEP.SightTime = 0.25
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-3.65, 3, 1.39),
|
||||
Ang = Angle(0, 0.0, 0),
|
||||
Magnification = 1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
CrosshairInSights = false
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
SWEP.ActivePos = Vector(0, 4, 1)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.CrouchPos = Vector(-1, 3, 0.5)
|
||||
SWEP.CrouchAng = Angle(0, 0, -5)
|
||||
|
||||
SWEP.HolsterPos = Vector(3, 3, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.CustomizePos = Vector(0, 4, 0)
|
||||
SWEP.CustomizeAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.BarrelLength = 27
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["handguard"] = {
|
||||
VMBodygroups = {{ind = 5, bg = 1}},
|
||||
},
|
||||
["pgrip"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 1}},
|
||||
},
|
||||
["magazine"] = {
|
||||
VMBodygroups = {{ind = 2, bg = 1}},
|
||||
},
|
||||
["Stock_Fold"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 1}},
|
||||
},
|
||||
["Stock_Gone"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 2}},
|
||||
},
|
||||
["Mount_scopes"] = {
|
||||
VMBodygroups = {{ind = 6, bg = 1}},
|
||||
},
|
||||
["No_Mount"] = {
|
||||
VMBodygroups = {{ind = 6, bg = 0}},
|
||||
},
|
||||
["Remove_Receiver"] = {
|
||||
VMBodygroups = {{ind = 3, bg = 1}},
|
||||
},
|
||||
["Rear_Mount"] = {
|
||||
--VMBodygroups = {{ind = 3, bg = 1}},
|
||||
AttPosMods = {
|
||||
[1] = {
|
||||
vpos = Vector(0, -5, 0.2),
|
||||
vang = Angle(90, -90, -90),
|
||||
}
|
||||
},
|
||||
},
|
||||
["b11_handguard"] = {
|
||||
--VMBodygroups = {{ind = 3, bg = 1}},
|
||||
AttPosMods = {
|
||||
[5] = {
|
||||
vpos = Vector(0, 2.5, -1.3),
|
||||
vang = Angle(0, -90, 0),
|
||||
},
|
||||
[6] = {
|
||||
vpos = Vector(1, 3.65, -0.35),
|
||||
vang = Angle(90, -90, 0),
|
||||
},
|
||||
[7] = {
|
||||
vpos = Vector(-1, 3.65, -0.35),
|
||||
vang = Angle(-90, -90, 0),
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.ExtraSightDist = 10
|
||||
SWEP.GuaranteeLaser = true
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-4.3, 4.2, -8),
|
||||
ang = Angle(0, 0, 180),
|
||||
bone = "ValveBiped.Bip01_R_Hand",
|
||||
scale = 1
|
||||
}
|
||||
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic", -- print name
|
||||
DefaultAttName = "Iron Sights",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_aks74u/ironsight.png"),
|
||||
Slot = {"eft_optic_large", "eft_optic_medium", "eft_optic_small"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "mod_topmount", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(-0.01, 0, 0.7),
|
||||
vang = Angle(90, -90, -90),
|
||||
},
|
||||
CorrectivePos = Vector(0, 0, 0),
|
||||
CorrectiveAng = Angle(0, 180, 180),
|
||||
ExcludeFlags = {"NoReceiver"},
|
||||
InstalledEles = {"Mount_scopes"},
|
||||
},
|
||||
{
|
||||
PrintName = "Dust Cover", -- print name
|
||||
DefaultAttName = "6P26 Dust Cover",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_aks74u/receiver_std.png"),
|
||||
Slot = "eft_aks74u_receiever",
|
||||
Bone = "mod_reciever", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(-0.0, 0, 0),
|
||||
vang = Angle(0, 0, 0),
|
||||
},
|
||||
InstalledEles = {"Remove_Receiver"},
|
||||
},
|
||||
{
|
||||
PrintName = "Handguard",
|
||||
DefaultAttName = "6P26 Handguard",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_aks74u/handguard_std.png"),
|
||||
InstalledEles = {"handguard"},
|
||||
Slot = "eftaks74u_handguard",
|
||||
Bone = "mod_handguard", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(0, 0, 0),
|
||||
vang = Angle(0, -90, 0),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Muzzle Device",
|
||||
DefaultAttName = "No Muzzle",
|
||||
--DefaultAttIcon = Material("vgui/entities/eft_aks74u/handguard_std.png"),
|
||||
Slot = "eft_muzzle_ak545",
|
||||
Bone = "mod_handguard", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(0, 5.8, -0.5),
|
||||
vang = Angle(0, -90, 0),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = "eft_foregrip",
|
||||
Bone = "mod_handguard",
|
||||
DefaultAttName = "No Underbarrel",
|
||||
Offset = {
|
||||
vpos = Vector(0, 2.5, -1.7),
|
||||
vang = Angle(0, -90, 0)
|
||||
},
|
||||
RequireFlags = {"lowerrail"},
|
||||
},
|
||||
{
|
||||
PrintName = "Gadget - Left",
|
||||
Slot = "eft_tactical",
|
||||
Bone = "mod_handguard",
|
||||
DefaultAttName = "No Gadget",
|
||||
Offset = {
|
||||
vpos = Vector(1.1, 3.5, -0.5),
|
||||
vang = Angle(90, -90, 0)
|
||||
},
|
||||
RequireFlags = {"leftrail"},
|
||||
},
|
||||
{
|
||||
PrintName = "Gadget - Right",
|
||||
Slot = "eft_tactical",
|
||||
Bone = "mod_handguard",
|
||||
DefaultAttName = "No Gadget",
|
||||
Offset = {
|
||||
vpos = Vector(-1.1, 3.5, -0.5),
|
||||
vang = Angle(-90, -90, 0)
|
||||
},
|
||||
RequireFlags = {"rightrail"},
|
||||
},
|
||||
{
|
||||
PrintName = "Magazine",
|
||||
Slot = "eft_mag_ak545",
|
||||
Bone = "mod_magazine",
|
||||
DefaultAttName = "6L20 30-round magazine",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_aks74u/mag_std.png"),
|
||||
Offset = {
|
||||
vpos = Vector(0, 0, -0),
|
||||
vang = Angle(0, -90, 0)
|
||||
},
|
||||
InstalledEles = {"magazine"},
|
||||
},
|
||||
{
|
||||
PrintName = "Pistol Grip",
|
||||
Slot = {"eft_ak_pgrip"},
|
||||
Bone = "mod_pistol_grip",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_aks74u/pgrip_std.png"),
|
||||
DefaultAttName = "6P4 Texolite Grip",
|
||||
--DefaultAttIcon = Material("vgui/entities/eft_aks74u/stock_unfolded.png"),
|
||||
Offset = {
|
||||
vpos = Vector(0, 0, 0),
|
||||
vang = Angle(0, -90, 0)
|
||||
},
|
||||
InstalledEles = {"pgrip"},
|
||||
},
|
||||
{
|
||||
PrintName = "Stock",
|
||||
Slot = {"eft_aks74u_stock", "eftaks_stock"},
|
||||
Bone = "mod_stock",
|
||||
DefaultAttName = "Unfolded Stock",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_aks74u/stock_unfolded.png"),
|
||||
Offset = {
|
||||
vpos = Vector(0, 0, 0),
|
||||
vang = Angle(0, 0, 0)
|
||||
},
|
||||
InstalledEles = {"Stock_Gone"},
|
||||
},
|
||||
{
|
||||
PrintName = "Caliber",
|
||||
Slot = {"eft_ammo_545x39"},
|
||||
Bone = "mod_stock",
|
||||
DefaultAttName = "5.45x39mm BP ammo",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/762x51_icon.png"),
|
||||
Offset = {
|
||||
vpos = Vector(0, 0, 0),
|
||||
vang = Angle(0, 0, 0)
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle"
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
LHIK = false,
|
||||
LHIKIn = 0.25,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
["holster"] = {
|
||||
Source = "holster",
|
||||
LHIK = false,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["ready"] = {
|
||||
Source = {"ready_1", "ready_2", "ready_3"},
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.8,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_slider_up.wav",
|
||||
t = 0.6
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_slider_down.wav",
|
||||
t = 0.9
|
||||
}
|
||||
},
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "fire",
|
||||
Time = 0.1,
|
||||
FrameRate = 300,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "fire",
|
||||
Time = 0.1,
|
||||
FrameRate = 300,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4, -- In/Out controls how long it takes to switch to regular animation.
|
||||
LHIKOut = 0.4, -- (not actually inverse kinematics)
|
||||
LHIKEaseIn = 0.4, -- how long LHIK eases in.
|
||||
LHIKEaseOut = 0.4, -- if no value is specified then ease = lhikin
|
||||
Checkpoints = { 0.8, 1.9 },
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magrelease_button.wav",
|
||||
t = 0.55
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magout_plastic.wav",
|
||||
t = 0.65
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magin_plastic.wav",
|
||||
t = 2.6
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload_empty",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4, -- In/Out controls how long it takes to switch to regular animation.
|
||||
LHIKOut = 1.7, -- (not actually inverse kinematics)
|
||||
LHIKEaseIn = 0.4, -- how long LHIK eases in.
|
||||
LHIKEaseOut = 0.2, -- if no value is specified then ease = lhikin
|
||||
Checkpoints = { 0.8, 1.9 },
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magrelease_button.wav",
|
||||
t = 0.55
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magout_plastic.wav",
|
||||
t = 0.65
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magin_plastic.wav",
|
||||
t = 2.6
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_slider_up.wav",
|
||||
t = 4
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_slider_down.wav",
|
||||
t = 4.4
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_saiga"] = {
|
||||
Source = "reload_saiga",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4, -- In/Out controls how long it takes to switch to regular animation.
|
||||
LHIKOut = 0.4, -- (not actually inverse kinematics)
|
||||
LHIKEaseIn = 0.4, -- how long LHIK eases in.
|
||||
LHIKEaseOut = 0.4, -- if no value is specified then ease = lhikin
|
||||
Checkpoints = { 0.8, 1.9 },
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magrelease_button.wav",
|
||||
t = 0.55
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magout_plastic.wav",
|
||||
t = 0.65
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magin_plastic.wav",
|
||||
t = 2.6
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_saiga_empty"] = {
|
||||
Source = "reload_saiga_empty",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4, -- In/Out controls how long it takes to switch to regular animation.
|
||||
LHIKOut = 1.7, -- (not actually inverse kinematics)
|
||||
LHIKEaseIn = 0.4, -- how long LHIK eases in.
|
||||
LHIKEaseOut = 0.2, -- if no value is specified then ease = lhikin
|
||||
Checkpoints = { 0.8, 1.9 },
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magrelease_button.wav",
|
||||
t = 0.55
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magout_plastic.wav",
|
||||
t = 0.65
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magin_plastic.wav",
|
||||
t = 2.6
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_slider_up.wav",
|
||||
t = 4
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_slider_down.wav",
|
||||
t = 4.4
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_6l31"] = {
|
||||
Source = "reload_6l31",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4, -- In/Out controls how long it takes to switch to regular animation.
|
||||
LHIKOut = 0.4, -- (not actually inverse kinematics)
|
||||
LHIKEaseIn = 0.4, -- how long LHIK eases in.
|
||||
LHIKEaseOut = 0.4, -- if no value is specified then ease = lhikin
|
||||
Checkpoints = { 0.8, 1.9 },
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magrelease_button.wav",
|
||||
t = 0.55
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magout_plastic.wav",
|
||||
t = 0.65
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magin_plastic.wav",
|
||||
t = 2.6
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_6l31_empty"] = {
|
||||
Source = "reload_6l31_empty",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4, -- In/Out controls how long it takes to switch to regular animation.
|
||||
LHIKOut = 1.7, -- (not actually inverse kinematics)
|
||||
LHIKEaseIn = 0.4, -- how long LHIK eases in.
|
||||
LHIKEaseOut = 0.2, -- if no value is specified then ease = lhikin
|
||||
Checkpoints = { 0.8, 1.9 },
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magrelease_button.wav",
|
||||
t = 0.55
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magout_plastic.wav",
|
||||
t = 0.65
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magin_plastic.wav",
|
||||
t = 2.6
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_slider_up.wav",
|
||||
t = 4
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_slider_down.wav",
|
||||
t = 4.4
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_drum"] = {
|
||||
Source = "reload_drum",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4, -- In/Out controls how long it takes to switch to regular animation.
|
||||
LHIKOut = 0.4, -- (not actually inverse kinematics)
|
||||
LHIKEaseIn = 0.4, -- how long LHIK eases in.
|
||||
LHIKEaseOut = 0.4, -- if no value is specified then ease = lhikin
|
||||
Checkpoints = { 0.8, 1.9 },
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magrelease_button.wav",
|
||||
t = 0.55
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magout_plastic.wav",
|
||||
t = 0.65
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magin_plastic.wav",
|
||||
t = 2.6
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_drum_empty"] = {
|
||||
Source = "reload_drum_empty",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4, -- In/Out controls how long it takes to switch to regular animation.
|
||||
LHIKOut = 1.7, -- (not actually inverse kinematics)
|
||||
LHIKEaseIn = 0.4, -- how long LHIK eases in.
|
||||
LHIKEaseOut = 0.2, -- if no value is specified then ease = lhikin
|
||||
Checkpoints = { 0.8, 1.9 },
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magrelease_button.wav",
|
||||
t = 0.55
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magout_plastic.wav",
|
||||
t = 0.65
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_magin_plastic.wav",
|
||||
t = 2.6
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_slider_up.wav",
|
||||
t = 4
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_aks74u/ak74_slider_down.wav",
|
||||
t = 4.4
|
||||
}
|
||||
},
|
||||
},
|
||||
["enter_inspect"] = {
|
||||
Source = "customize_begin",
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["idle_inspect"] = {
|
||||
Source = "customize_idle",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["exit_inspect"] = {
|
||||
Source = "customize_end",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.3,
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,444 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Modern Weaponry" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "MP-153"
|
||||
SWEP.TrueName = "MP-153"
|
||||
SWEP.Trivia_Class = "Semi-automatic shotgun"
|
||||
SWEP.Trivia_Desc = "Smoothbore multi-shot. MP-153 shotgun, produced by Izhmekh. Reliable and practical hunting and self-defence weapon."
|
||||
SWEP.Trivia_Manufacturer = "Izhmekh"
|
||||
SWEP.Trivia_Calibre = "12 Gauge"
|
||||
SWEP.Trivia_Mechanism = "Gas-operated Rotating bolt"
|
||||
SWEP.Trivia_Country = "Russia"
|
||||
SWEP.Trivia_Year = 2000
|
||||
|
||||
SWEP.Slot = 4
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arccw/darsu_eft/c_mp153.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arccw/darsu_eft/c_mp153.mdl"
|
||||
SWEP.ViewModelFOV = 70
|
||||
|
||||
SWEP.DefaultBodygroups = "000000000000"
|
||||
|
||||
SWEP.Num = 8 -- number of shots per trigger pull.
|
||||
SWEP.Damage = 9
|
||||
SWEP.DamageMin = 9 -- damage done at maximum range
|
||||
SWEP.RangeMin = 20 -- in METRES
|
||||
SWEP.Range = 70 -- in METRES
|
||||
SWEP.Penetration = 3
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
-- IN M/S
|
||||
SWEP.ChamberSize = 1 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 4 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 8
|
||||
|
||||
SWEP.PhysBulletMuzzleVelocity = 415
|
||||
|
||||
SWEP.TriggerDelay = false
|
||||
|
||||
SWEP.ReloadInSights = true
|
||||
SWEP.ReloadInSights_FOVMult = 1
|
||||
|
||||
SWEP.Recoil = 2.5
|
||||
SWEP.RecoilSide = 2
|
||||
SWEP.RecoilRise = 0.3
|
||||
SWEP.RecoilPunch = 2.5
|
||||
SWEP.VisualRecoilMult = 10
|
||||
SWEP.RecoilPunchBackMax = 18
|
||||
SWEP.RecoilPunchBackMaxSights = 19 -- may clip with scopes
|
||||
|
||||
SWEP.Delay = 60 / 120 -- 60 / RPM.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_shotgun"
|
||||
SWEP.NPCWeight = 100
|
||||
|
||||
SWEP.AccuracyMOA = 60 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 350 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 300
|
||||
|
||||
SWEP.Primary.Ammo = "buckshot" -- what ammo type the gun uses
|
||||
SWEP.MagID = "MP153" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 100 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 100 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = {"weapons/darsu_eft/mp153/mr153_fire_close1.wav", "weapons/darsu_eft/mp153/mr153_fire_close2.wav"}
|
||||
SWEP.ShootSoundSilenced = "weapons/darsu_eft/mp153/mr133_fire_silenced_close.wav"
|
||||
SWEP.DistantShootSound = {"weapons/darsu_eft/mp153/mr153_fire_distant1.wav", "weapons/darsu_eft/mp153/mr153_fire_distant2.wav"}
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_shotgun"
|
||||
SWEP.ShellModel = "models/weapons/arccw/eft_shells/patron_12x70_shell.mdl"
|
||||
SWEP.ShellPitch = 100
|
||||
SWEP.ShellScale = 1.5
|
||||
SWEP.ShellRotateAngle = Angle(0, 180, 0)
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
SWEP.CamAttachment = 3 -- if set, this attachment will control camera movement
|
||||
|
||||
SWEP.SpeedMult = 0.95
|
||||
SWEP.SightedSpeedMult = 0.8
|
||||
SWEP.SightTime = 0.5*0.93
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-4.281, -2, 0.681),
|
||||
Ang = Angle(0.25, 0.004, 0),
|
||||
Magnification = 1.1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
CrosshairInSights = false
|
||||
}
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.Jamming = false
|
||||
SWEP.HeatCapacity = 9
|
||||
SWEP.HeatDissipation = 0.3
|
||||
SWEP.HeatLockout = true -- overheating means you cannot fire until heat has been fully depleted
|
||||
SWEP.HeatFix = true -- when the "fix" animation is played, all heat is restored.
|
||||
|
||||
SWEP.Malfunction = false
|
||||
SWEP.MalfunctionJam = false -- After a malfunction happens, the gun will dryfire until reload is pressed. If unset, instead plays animation right after.
|
||||
SWEP.MalfunctionTakeRound = false -- When malfunctioning, a bullet is consumed.
|
||||
SWEP.MalfunctionWait = 0 -- The amount of time to wait before playing malfunction animation (or can reload)
|
||||
SWEP.MalfunctionMean = 48 -- The mean number of shots between malfunctions, will be autocalculated if nil
|
||||
SWEP.MalfunctionVariance = 0.2 -- The fraction of mean for variance. e.g. 0.2 means 20% variance
|
||||
SWEP.MalfunctionSound = "weapons/arccw/malfunction.wav"
|
||||
|
||||
SWEP.HoldtypeHolstered = "normal"
|
||||
SWEP.HoldtypeActive = "shotgun"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_PISTOL
|
||||
|
||||
SWEP.ActivePos = Vector(0.2, -3.5, 0.7)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.CrouchPos = Vector(-1.2, -4.5, 0.2)
|
||||
SWEP.CrouchAng = Angle(0, 0, -6)
|
||||
|
||||
SWEP.HolsterPos = Vector(0.2, -3.5, 0.7)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
SWEP.BarrelOffsetCrouch = Vector(0, 0, -2)
|
||||
|
||||
SWEP.CustomizePos = Vector(0.2, -3.5, 0.7)
|
||||
SWEP.CustomizeAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.BarrelLength = 18
|
||||
|
||||
SWEP.BulletBones = { -- the bone that represents bullets in gun/mag
|
||||
[1] = {"shellport", "patron_in_weapon"},
|
||||
}
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["sightmount"] = {VMBodygroups = {{ind = 4, bg = 1}},},
|
||||
["bottommount"] = {VMBodygroups = {{ind = 5, bg = 1}},},
|
||||
|
||||
["b660"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 1}},
|
||||
AttPosMods = {
|
||||
[3] = {
|
||||
vpos = Vector(0, 46, 1.8),
|
||||
vang = Angle(0, -90, 0),
|
||||
},
|
||||
},
|
||||
},
|
||||
["b710"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 2}},
|
||||
AttPosMods = {
|
||||
[3] = {
|
||||
vpos = Vector(0, 47.8, 1.8),
|
||||
vang = Angle(0, -90, 0),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
["b750"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 3}},
|
||||
AttPosMods = {
|
||||
[3] = {
|
||||
vpos = Vector(0, 49.4, 1.8),
|
||||
vang = Angle(0, -90, 0),
|
||||
},
|
||||
},
|
||||
},
|
||||
["m5"] = {VMBodygroups = {{ind = 3, bg = 1}},},
|
||||
["m6"] = {VMBodygroups = {{ind = 3, bg = 2}},},
|
||||
["m7"] = {VMBodygroups = {{ind = 3, bg = 3}},},
|
||||
["m8"] = {VMBodygroups = {{ind = 3, bg = 4}},},
|
||||
|
||||
["swooden"] = {VMBodygroups = {{ind = 6, bg = 1}},},
|
||||
["spistol"] = {VMBodygroups = {{ind = 6, bg = 2}},},
|
||||
|
||||
["12rip"] = {VMBodygroups = {{ind = 10, bg = 1}},},
|
||||
["12fl"] = {VMBodygroups = {{ind = 10, bg = 2}},},
|
||||
["12dss"] = {VMBodygroups = {{ind = 10, bg = 3}},},
|
||||
["12bmg"] = {VMBodygroups = {{ind = 10, bg = 4}},},
|
||||
["12ap20"] = {VMBodygroups = {{ind = 10, bg = 5}},},
|
||||
["12ftx"] = {VMBodygroups = {{ind = 10, bg = 6}},},
|
||||
["12g40"] = {VMBodygroups = {{ind = 10, bg = 7}},},
|
||||
["12cop"] = {VMBodygroups = {{ind = 10, bg = 8}},},
|
||||
["12p3"] = {VMBodygroups = {{ind = 10, bg = 9}},},
|
||||
["12p6u"] = {VMBodygroups = {{ind = 10, bg = 10}},},
|
||||
["12sfp"] = {VMBodygroups = {{ind = 10, bg = 11}},},
|
||||
|
||||
["12lead"] = {VMBodygroups = {{ind = 10, bg = 10}},},
|
||||
}
|
||||
|
||||
SWEP.ExtraSightDist = 6
|
||||
SWEP.GuaranteeLaser = true
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-10, 5.5, -2),
|
||||
ang = Angle(-10, 0, 180)
|
||||
}
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
|
||||
SWEP.ShotgunReload = true
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic", -- print name
|
||||
DefaultAttName = "None",
|
||||
//DefaultAttIcon = Material("vgui/entities/eft_attachments/usp_sights_standard.png"),
|
||||
Slot = {"eft_optic_small", "eft_optic_medium", "eft_optic_large"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "weapon", -- relevant bone any attachments will be mostly referring to
|
||||
CorrectiveAng = Angle(0, 180, 0),
|
||||
InstalledEles = {"sightmount"},
|
||||
Offset = {
|
||||
vpos = Vector(0, 17, 2.7),
|
||||
vang = Angle(0, -90, 0),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Barrel", -- print name
|
||||
DefaultAttName = "610mm barrel",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/mp153_b610.png"),
|
||||
Slot = "eft_mp153_barrel", -- what kind of attachments can fit here, can be string or table
|
||||
},
|
||||
{
|
||||
PrintName = "Muzzle Device",
|
||||
Slot = "eft_muzzle_12g",
|
||||
Bone = "weapon",
|
||||
DefaultAttName = "None",
|
||||
-- DefaultAttIcon = Material("vgui/entities/eft_attachments/att_scarl_muzzle_std.png"),
|
||||
Offset = {
|
||||
vpos = Vector(0, 44, 1.8),
|
||||
vang = Angle(90, -90, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Magazine", -- print name
|
||||
DefaultAttName = "4-shell",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/mp153_m4.png"),
|
||||
Slot = "eft_mp153_mag", -- what kind of attachments can fit here, can be string or table
|
||||
},
|
||||
{
|
||||
PrintName = "Stock", -- print name
|
||||
DefaultAttName = "Plastic stock",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/mp153_stock_std.png"),
|
||||
Slot = "eft_mp153_stock", -- what kind of attachments can fit here, can be string or table
|
||||
},
|
||||
{
|
||||
PrintName = "Left Tactical", -- print name
|
||||
DefaultAttName = "No Tactical",
|
||||
Slot = {"eft_tactical"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "weapon", -- relevant bone any attachments will be mostly referring to
|
||||
InstalledEles = {"bottommount"},
|
||||
Offset = {
|
||||
vpos = Vector(1.3, 33.5, 1.35),
|
||||
vang = Angle(0, -90, 120),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Bottom Tactical", -- print name
|
||||
DefaultAttName = "No Tactical",
|
||||
Slot = {"eft_tactical"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "weapon", -- relevant bone any attachments will be mostly referring to
|
||||
InstalledEles = {"bottommount"},
|
||||
Offset = {
|
||||
vpos = Vector(0, 33.5, -.9),
|
||||
vang = Angle(0, -90, 0),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Right Tactical", -- print name
|
||||
DefaultAttName = "No Tactical",
|
||||
Slot = {"eft_tactical"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "weapon", -- relevant bone any attachments will be mostly referring to
|
||||
InstalledEles = {"bottommount"},
|
||||
Offset = {
|
||||
vpos = Vector(-1.3, 33.5, 1.35),
|
||||
vang = Angle(0, -90, 240),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo",
|
||||
DefaultAttName = "12/70 7mm buckshot",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/ammo/12g_def.png"),
|
||||
Slot = "ammo_eft_12"
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle"
|
||||
},
|
||||
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
Time = 1.2,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {
|
||||
{s = "weapons/darsu_eft/mp153/mr133_draw.wav", t = 0},
|
||||
},
|
||||
},
|
||||
|
||||
["holster"] = {
|
||||
Source = "holster",
|
||||
Time = 1.2,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{s = "weapons/darsu_eft/mp153/mr133_holster.wav", t = 0},
|
||||
},
|
||||
},
|
||||
|
||||
["ready"] = {
|
||||
Source = {"ready0", "ready1", "ready2"},
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {
|
||||
{s = "weapons/darsu_eft/mp153/mr133_draw.wav", t = 0},
|
||||
{s = "weapons/darsu_eft/mp153/mr153_slider_up.wav", t = 0.4},
|
||||
{s = "weapons/darsu_eft/mp153/mr153_slider_down.wav", t = 0.8},
|
||||
},
|
||||
},
|
||||
|
||||
["fire"] = {
|
||||
Source = "fire",
|
||||
Time = 0.15,
|
||||
ShellEjectAt = 0.05,
|
||||
SoundTable = {
|
||||
{s = "eft_shared/weap_trigger_hammer.wav", t = 0.05}
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
["sgreload_start"] = {
|
||||
Source = "reload_start",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{s = "eft_shared/weap_handoff.wav", t = 0},
|
||||
},
|
||||
},
|
||||
["sgreload_start_empty"] = {
|
||||
Source = "reload_start_empty",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{s = "eft_shared/weap_handoff.wav", t = 0},
|
||||
{s = "weapons/darsu_eft/mp153/mr133_shell_pickup.wav", t = 0.15},
|
||||
{s = "weapons/darsu_eft/mp153/mr133_shell_in_port.wav", t = 0.85},
|
||||
{s = "weapons/darsu_eft/mp153/mr153_slider_down.wav", t = 1.2},
|
||||
},
|
||||
},
|
||||
["sgreload_insert"] = {
|
||||
Source = "reload_loop",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{s = "weapons/darsu_eft/mp153/mr133_shell_pickup.wav", t = 0},
|
||||
{s = "weapons/darsu_eft/mp153/mr133_shell_in_mag2.wav", t = 0.3},
|
||||
},
|
||||
},
|
||||
["sgreload_finish"] = {
|
||||
Source = "reload_end",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {
|
||||
{s = "eft_shared/weap_handon.wav", t = 0.1},
|
||||
},
|
||||
},
|
||||
|
||||
["enter_inspect"] = {
|
||||
Source = "enter_inspect",
|
||||
SoundTable = {
|
||||
{s = "eft_shared/weap_handoff.wav", t = 0},
|
||||
},
|
||||
},
|
||||
|
||||
["idle_inspect"] = {
|
||||
Source = "idle_inspect",
|
||||
},
|
||||
["exit_inspect"] = {
|
||||
Source = "exit_inspect",
|
||||
SoundTable = {
|
||||
{s = "weapons/darsu_eft/mp153/mr133_draw.wav", t = 0.2},
|
||||
{s = "weapons/darsu_eft/mp153/mr153_slider_up.wav", t = 1.2},
|
||||
{s = "weapons/darsu_eft/mp153/mr153_slider_down.wav", t = 1.8},
|
||||
},
|
||||
},
|
||||
["unjam"] = {
|
||||
Source = {"jam0","jam1","jam2"},
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_REVOLVER,
|
||||
SoundTable = {
|
||||
{s = "eft_shared/weap_handoff.wav", t = 0},
|
||||
{s = "weapons/darsu_eft/mp153/mr153_slider_up.wav", t = 0.8},
|
||||
{s = "weapons/darsu_eft/mp153/mr133_shell_out_mag.wav", t = 1.2},
|
||||
{s = "weapons/darsu_eft/mp153/mr153_slider_down.wav", t = 1.52},
|
||||
},
|
||||
},
|
||||
["fix"] = {
|
||||
Source = {"misfire0","misfire1","misfire2"},
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_REVOLVER,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.2,
|
||||
-- ShellEjectAt = 0.8,
|
||||
SoundTable = {
|
||||
{s = "eft_shared/weap_handoff.wav", t = 0},
|
||||
{s = "weapons/darsu_eft/mp153/mr153_slider_up.wav", t = 0.7},
|
||||
{s = "weapons/darsu_eft/mp153/mr133_shell_out_mag.wav", t = 0.75},
|
||||
{s = "weapons/darsu_eft/mp153/mr153_slider_down.wav", t = 0.9},
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,749 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Modern Weaponry" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "MP-155"
|
||||
SWEP.TrueName = "MP-155"
|
||||
SWEP.Trivia_Class = "Semi-automatic shotgun"
|
||||
SWEP.Trivia_Desc = "Russian smoothbore multi-shot MP-155 12 gauge shotgun, manufactured by IzhMekh (\"Izhevsky Mechanical Plant\"). The gun weighs less than its predecessor MP-153 and features enhanced ergonomics and an easy-to-replace barrel mechanism. The new design also makes it easier to use for left-handed users."
|
||||
SWEP.Trivia_Manufacturer = "Izhmekh"
|
||||
SWEP.Trivia_Calibre = "12 Gauge"
|
||||
SWEP.Trivia_Mechanism = "Gas-operated Rotating bolt"
|
||||
SWEP.Trivia_Country = "Russia"
|
||||
SWEP.Trivia_Year = 2017
|
||||
|
||||
SWEP.Slot = 4
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arccw/darsu_eft/c_mp153.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arccw/darsu_eft/c_mp153.mdl"
|
||||
SWEP.ViewModelFOV = 70
|
||||
|
||||
SWEP.DefaultBodygroups = "1415003000"
|
||||
|
||||
SWEP.Num = 8 -- number of shots per trigger pull.
|
||||
SWEP.Damage = 10
|
||||
SWEP.DamageMin = 10 -- damage done at maximum range
|
||||
SWEP.RangeMin = 20 -- in METRES
|
||||
SWEP.Range = 90 -- in METRES
|
||||
SWEP.Penetration = 3
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
-- IN M/S
|
||||
SWEP.ChamberSize = 1 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 4 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 8
|
||||
|
||||
SWEP.PhysBulletMuzzleVelocity = 415
|
||||
|
||||
SWEP.TriggerDelay = false
|
||||
|
||||
SWEP.ReloadInSights = true
|
||||
SWEP.ReloadInSights_FOVMult = 1
|
||||
|
||||
SWEP.Recoil = 2.5
|
||||
SWEP.RecoilSide = 2
|
||||
|
||||
SWEP.RecoilRise = 0.3
|
||||
SWEP.RecoilPunch = 2.5
|
||||
SWEP.VisualRecoilMult = 10
|
||||
SWEP.RecoilPunchBackMax = 18
|
||||
SWEP.RecoilPunchBackMaxSights = 19 -- may clip with scopes
|
||||
|
||||
SWEP.Delay = 60 / 120 -- 60 / RPM.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_shotgun"
|
||||
SWEP.NPCWeight = 100
|
||||
|
||||
SWEP.AccuracyMOA = 48 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 350 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 300
|
||||
|
||||
SWEP.Primary.Ammo = "buckshot" -- what ammo type the gun uses
|
||||
SWEP.MagID = "MP153" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 100 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 100 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = {"weapons/darsu_eft/mp153/mr153_fire_close1.wav", "weapons/darsu_eft/mp153/mr153_fire_close2.wav"}
|
||||
SWEP.ShootSoundSilenced = "weapons/darsu_eft/mp153/mr133_fire_silenced_close.wav"
|
||||
SWEP.DistantShootSound = {"weapons/darsu_eft/mp153/mr153_fire_distant1.wav", "weapons/darsu_eft/mp153/mr153_fire_distant2.wav"}
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_shotgun"
|
||||
SWEP.ShellModel = "models/weapons/arccw/eft_shells/patron_12x70_shell.mdl"
|
||||
SWEP.ShellPitch = 100
|
||||
SWEP.ShellScale = 1.5
|
||||
SWEP.ShellRotateAngle = Angle(0, 180, 0)
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
SWEP.CamAttachment = 3 -- if set, this attachment will control camera movement
|
||||
|
||||
SWEP.SpeedMult = 0.94
|
||||
SWEP.SightedSpeedMult = 0.8
|
||||
SWEP.SightTime = 0.5*1.07
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-4.281, -2, 0.681),
|
||||
Ang = Angle(0.25, 0.004, 0),
|
||||
Magnification = 1.1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
CrosshairInSights = false
|
||||
}
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.Jamming = false
|
||||
SWEP.HeatCapacity = 9
|
||||
SWEP.HeatDissipation = 0.3
|
||||
SWEP.HeatLockout = true -- overheating means you cannot fire until heat has been fully depleted
|
||||
SWEP.HeatFix = true -- when the "fix" animation is played, all heat is restored.
|
||||
|
||||
SWEP.Malfunction = false
|
||||
SWEP.MalfunctionJam = false -- After a malfunction happens, the gun will dryfire until reload is pressed. If unset, instead plays animation right after.
|
||||
SWEP.MalfunctionTakeRound = false -- When malfunctioning, a bullet is consumed.
|
||||
SWEP.MalfunctionWait = 0 -- The amount of time to wait before playing malfunction animation (or can reload)
|
||||
SWEP.MalfunctionMean = 48 -- The mean number of shots between malfunctions, will be autocalculated if nil
|
||||
SWEP.MalfunctionVariance = 0.2 -- The fraction of mean for variance. e.g. 0.2 means 20% variance
|
||||
SWEP.MalfunctionSound = "weapons/arccw/malfunction.wav"
|
||||
|
||||
SWEP.HoldtypeHolstered = "normal"
|
||||
SWEP.HoldtypeActive = "shotgun"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_PISTOL
|
||||
|
||||
SWEP.ActivePos = Vector(0.2, -3.5, 0.7)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.CrouchPos = Vector(-1.2, -4.5, 0.2)
|
||||
SWEP.CrouchAng = Angle(0, 0, -6)
|
||||
|
||||
SWEP.HolsterPos = Vector(0.2, -3.5, 0.7)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
SWEP.BarrelOffsetCrouch = Vector(0, 0, -2)
|
||||
|
||||
SWEP.CustomizePos = Vector(0.2, -3.5, 0.7)
|
||||
SWEP.CustomizeAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.BarrelLength = 28
|
||||
|
||||
SWEP.BulletBones = { -- the bone that represents bullets in gun/mag
|
||||
[1] = {"shellport", "patron_in_weapon"},
|
||||
}
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["sightmount"] = {VMBodygroups = {{ind = 4, bg = 1}},},
|
||||
["bottommount"] = {VMBodygroups = {{ind = 5, bg = 2}},},
|
||||
|
||||
|
||||
["m5"] = {VMBodygroups = {{ind = 3, bg = 6}},},
|
||||
["m6"] = {VMBodygroups = {{ind = 3, bg = 7}},},
|
||||
["m7"] = {VMBodygroups = {{ind = 3, bg = 8}},},
|
||||
["m8"] = {VMBodygroups = {{ind = 3, bg = 9}},},
|
||||
|
||||
["ultimapistol"] = {
|
||||
VMBodygroups = {{ind = 6, bg = 4}},
|
||||
Override_IronSightStruct = {
|
||||
Pos = Vector(-4.281, -4.5, -1.0),
|
||||
Ang = Angle(0.25, 0.004, 0),
|
||||
Magnification = 1.5,
|
||||
}
|
||||
},
|
||||
["ultimatoprail"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 2}},
|
||||
AttPosMods = {
|
||||
[1] = {
|
||||
vpos = Vector(0, 19, 2.9),
|
||||
vang = Angle(0, -90, 0),
|
||||
},
|
||||
},
|
||||
Override_IronSightStruct = {
|
||||
Pos = Vector(-4.281, -4.5, -1.0),
|
||||
Ang = Angle(0.25, 0.004, 0),
|
||||
Magnification = 1.5,
|
||||
},
|
||||
NameChange = "MP-155 Ultima",
|
||||
TrueNameChange = "MP-155 Ultima",
|
||||
},
|
||||
["ultimastock"] = {VMBodygroups = {{ind = 8, bg = 1}},},
|
||||
|
||||
["ultimapistolend"] = {VMBodygroups = {{ind = 7, bg = 1}},},
|
||||
["ultimastockendL"] = {VMBodygroups = {{ind = 7, bg = 2}},},
|
||||
["ultimastockendM"] = {VMBodygroups = {{ind = 7, bg = 3}},},
|
||||
["ultimastockendS"] = {VMBodygroups = {{ind = 7, bg = 4}},},
|
||||
|
||||
["ultimacamera"] = {VMBodygroups = {{ind = 9, bg = 1}},},
|
||||
|
||||
["ultimahg"] = {VMBodygroups = {{ind = 2, bg = 2}},},
|
||||
|
||||
["12rip"] = {VMBodygroups = {{ind = 10, bg = 1}},},
|
||||
["12fl"] = {VMBodygroups = {{ind = 10, bg = 2}},},
|
||||
["12dss"] = {VMBodygroups = {{ind = 10, bg = 3}},},
|
||||
["12bmg"] = {VMBodygroups = {{ind = 10, bg = 4}},},
|
||||
["12ap20"] = {VMBodygroups = {{ind = 10, bg = 5}},},
|
||||
["12ftx"] = {VMBodygroups = {{ind = 10, bg = 6}},},
|
||||
["12g40"] = {VMBodygroups = {{ind = 10, bg = 7}},},
|
||||
["12cop"] = {VMBodygroups = {{ind = 10, bg = 8}},},
|
||||
["12p3"] = {VMBodygroups = {{ind = 10, bg = 9}},},
|
||||
["12p6u"] = {VMBodygroups = {{ind = 10, bg = 10}},},
|
||||
["12sfp"] = {VMBodygroups = {{ind = 10, bg = 11}},},
|
||||
|
||||
["12lead"] = {VMBodygroups = {{ind = 10, bg = 10}},},
|
||||
}
|
||||
|
||||
SWEP.ExtraSightDist = 6
|
||||
SWEP.GuaranteeLaser = true
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-10, 5.5, -2),
|
||||
ang = Angle(-10, 0, 180)
|
||||
}
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
|
||||
SWEP.ShotgunReload = true
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic", -- print name
|
||||
DefaultAttName = "None",
|
||||
//DefaultAttIcon = Material("vgui/entities/eft_attachments/usp_sights_standard.png"),
|
||||
Slot = {"eft_optic_small", "eft_optic_medium", "eft_optic_large"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "weapon", -- relevant bone any attachments will be mostly referring to
|
||||
CorrectiveAng = Angle(0, 180, 0),
|
||||
InstalledEles = {"sightmount"},
|
||||
Offset = {
|
||||
vpos = Vector(0, 17, 2.7),
|
||||
vang = Angle(0, -90, 0),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Bodykit", -- print name
|
||||
DefaultAttName = "Default",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/mp155_kit_std.png"),
|
||||
Slot = "eft_mp155_kit", -- what kind of attachments can fit here, can be string or table
|
||||
GivesFlags = {"ultima"},
|
||||
},
|
||||
{
|
||||
PrintName = "Muzzle Device",
|
||||
Slot = "eft_muzzle_12g",
|
||||
Bone = "weapon",
|
||||
DefaultAttName = "None",
|
||||
-- DefaultAttIcon = Material("vgui/entities/eft_attachments/att_scarl_muzzle_std.png"),
|
||||
Offset = {
|
||||
vpos = Vector(0, 40, 1.8),
|
||||
vang = Angle(90, -90, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Magazine", -- print name
|
||||
DefaultAttName = "4-shell",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/mp153_m4.png"),
|
||||
Slot = "eft_mp153_mag", -- what kind of attachments can fit here, can be string or table
|
||||
Installed = "mag_eft_mp153_6",
|
||||
},
|
||||
{
|
||||
PrintName = "Stock", -- print name
|
||||
DefaultAttName = "Walnut stock",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/mp155_stock_std.png"),
|
||||
Slot = "eft_mp155_stock", -- what kind of attachments can fit here, can be string or table
|
||||
GivesFlags = {"ultimacam"},
|
||||
},
|
||||
{
|
||||
PrintName = "Right Tactical", -- print name
|
||||
DefaultAttName = "No Tactical",
|
||||
Slot = {"eft_tactical"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "weapon", -- relevant bone any attachments will be mostly referring to
|
||||
RequireFlags = {"ultima"},
|
||||
HideIfBlocked = true,
|
||||
Offset = {
|
||||
vpos = Vector(-1.17, 33.4, 1.7),
|
||||
vang = Angle(0, -90, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = "eft_foregrip",
|
||||
Bone = "mod_mount_000",
|
||||
DefaultAttName = "No Underbarrel",
|
||||
Offset = {
|
||||
vpos = Vector(0, -5.5, -1.2),
|
||||
vang = Angle(90, -90, -90),
|
||||
},
|
||||
InstalledEles = {"bottommount"},
|
||||
RequireFlags = {"ultima"},
|
||||
},
|
||||
{
|
||||
PrintName = "Top Gadget", -- print name
|
||||
DefaultAttName = "No Tactical",
|
||||
Slot = {"eft_tactical_big", "eft_mp155_tac"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "weapon", -- relevant bone any attachments will be mostly referring to
|
||||
RequireFlags = {"ultima"},
|
||||
HideIfBlocked = true,
|
||||
Offset = {
|
||||
vpos = Vector(0, 33, 2.9),
|
||||
vang = Angle(0, -90, 180),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo",
|
||||
DefaultAttName = "12/70 7mm buckshot",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/ammo/12g_def.png"),
|
||||
Slot = "ammo_eft_12"
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle"
|
||||
},
|
||||
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
Time = 1.2,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {
|
||||
{s = "weapons/darsu_eft/mp153/mr133_draw.wav", t = 0},
|
||||
},
|
||||
},
|
||||
|
||||
["holster"] = {
|
||||
Source = "holster",
|
||||
Time = 1.2,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{s = "weapons/darsu_eft/mp153/mr133_holster.wav", t = 0},
|
||||
},
|
||||
},
|
||||
|
||||
["ready"] = {
|
||||
Source = {"ready0", "ready1", "ready2"},
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {
|
||||
{s = "weapons/darsu_eft/mp153/mr133_draw.wav", t = 0},
|
||||
{s = "weapons/darsu_eft/mp153/mr153_slider_up.wav", t = 0.4},
|
||||
{s = "weapons/darsu_eft/mp153/mr153_slider_down.wav", t = 0.8},
|
||||
},
|
||||
},
|
||||
|
||||
["fire"] = {
|
||||
Source = "fire",
|
||||
Time = 0.15,
|
||||
ShellEjectAt = 0.05,
|
||||
SoundTable = {
|
||||
{s = "eft_shared/weap_trigger_hammer.wav", t = 0.05}
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
["sgreload_start"] = {
|
||||
Source = "reload_start",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{s = "eft_shared/weap_handoff.wav", t = 0},
|
||||
},
|
||||
},
|
||||
["sgreload_start_empty"] = {
|
||||
Source = "reload_start_empty",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{s = "eft_shared/weap_handoff.wav", t = 0},
|
||||
{s = "weapons/darsu_eft/mp153/mr133_shell_pickup.wav", t = 0.15},
|
||||
{s = "weapons/darsu_eft/mp153/mr133_shell_in_port.wav", t = 0.85},
|
||||
{s = "weapons/darsu_eft/mp153/mr153_slider_down.wav", t = 1.2},
|
||||
},
|
||||
},
|
||||
["sgreload_insert"] = {
|
||||
Source = "reload_loop",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{s = "weapons/darsu_eft/mp153/mr133_shell_pickup.wav", t = 0},
|
||||
{s = "weapons/darsu_eft/mp153/mr133_shell_in_mag2.wav", t = 0.3},
|
||||
},
|
||||
},
|
||||
["sgreload_finish"] = {
|
||||
Source = "reload_end",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {
|
||||
{s = "eft_shared/weap_handon.wav", t = 0.1},
|
||||
},
|
||||
},
|
||||
|
||||
["enter_inspect"] = {
|
||||
Source = "enter_inspect",
|
||||
SoundTable = {
|
||||
{s = "eft_shared/weap_handoff.wav", t = 0},
|
||||
},
|
||||
},
|
||||
|
||||
["idle_inspect"] = {
|
||||
Source = "idle_inspect",
|
||||
},
|
||||
["exit_inspect"] = {
|
||||
Source = "exit_inspect",
|
||||
SoundTable = {
|
||||
{s = "weapons/darsu_eft/mp153/mr133_draw.wav", t = 0.2},
|
||||
{s = "weapons/darsu_eft/mp153/mr153_slider_up.wav", t = 1.2},
|
||||
{s = "weapons/darsu_eft/mp153/mr153_slider_down.wav", t = 1.8},
|
||||
},
|
||||
},
|
||||
["unjam"] = {
|
||||
Source = {"jam0","jam1","jam2"},
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_REVOLVER,
|
||||
SoundTable = {
|
||||
{s = "eft_shared/weap_handoff.wav", t = 0},
|
||||
{s = "weapons/darsu_eft/mp153/mr153_slider_up.wav", t = 0.8},
|
||||
{s = "weapons/darsu_eft/mp153/mr133_shell_out_mag.wav", t = 1.2},
|
||||
{s = "weapons/darsu_eft/mp153/mr153_slider_down.wav", t = 1.52},
|
||||
},
|
||||
},
|
||||
["fix"] = {
|
||||
Source = {"misfire0","misfire1","misfire2"},
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_REVOLVER,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.2,
|
||||
-- ShellEjectAt = 0.8,
|
||||
SoundTable = {
|
||||
{s = "eft_shared/weap_handoff.wav", t = 0},
|
||||
{s = "weapons/darsu_eft/mp153/mr153_slider_up.wav", t = 0.7},
|
||||
{s = "weapons/darsu_eft/mp153/mr133_shell_out_mag.wav", t = 0.75},
|
||||
{s = "weapons/darsu_eft/mp153/mr153_slider_down.wav", t = 0.9},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
|
||||
if CLIENT then
|
||||
-- Stuff to always draw thermal on this shotgun if camera is installed
|
||||
-- Mostly copied from arccw's cl_holosight.lua
|
||||
|
||||
local blackColor = Color(0, 0, 0)
|
||||
|
||||
local rtsize = ScrH()
|
||||
local rtmat = GetRenderTarget("arccw_rtmat_ultima", rtsize, rtsize, false)
|
||||
|
||||
local rtmaterial = CreateMaterial( "arccw_rtmat_ultima", "UnlitGeneric", {
|
||||
['$basetexture'] = rtmat:GetName(),
|
||||
} );
|
||||
|
||||
local colormod2 = Material("pp/colour")
|
||||
local pp_ca_base, pp_ca_r, pp_ca_g, pp_ca_b = Material("pp/arccw/ca_base"), Material("pp/arccw/ca_r"), Material("pp/arccw/ca_g"), Material("pp/arccw/ca_b")
|
||||
local pp_ca_r_thermal, pp_ca_g_thermal, pp_ca_b_thermal = Material("pp/arccw/ca_r_thermal"), Material("pp/arccw/ca_g_thermal"), Material("pp/arccw/ca_b_thermal")
|
||||
|
||||
pp_ca_r:SetTexture("$basetexture", render.GetScreenEffectTexture())
|
||||
pp_ca_g:SetTexture("$basetexture", render.GetScreenEffectTexture())
|
||||
pp_ca_b:SetTexture("$basetexture", render.GetScreenEffectTexture())
|
||||
|
||||
pp_ca_r_thermal:SetTexture("$basetexture", render.GetScreenEffectTexture())
|
||||
pp_ca_g_thermal:SetTexture("$basetexture", render.GetScreenEffectTexture())
|
||||
pp_ca_b_thermal:SetTexture("$basetexture", render.GetScreenEffectTexture())
|
||||
|
||||
local coldtime = 30
|
||||
|
||||
local reticle = Material("hud/scopes/ultimareticle6.png")
|
||||
|
||||
function SWEP:UltimaFormRTScope()
|
||||
cam.Start3D()
|
||||
|
||||
-- ArcCW.Overdraw = true
|
||||
-- ArcCW.LaserBehavior = true
|
||||
-- ArcCW.VMInRT = true
|
||||
|
||||
local rtangles, rtpos, rtdrawvm
|
||||
|
||||
if GetConVar("arccw_drawbarrel"):GetBool() and GetConVar("arccw_vm_coolsway"):GetBool() then
|
||||
rtangles = self.VMAng - self.VMAngOffset
|
||||
rtangles.x = rtangles.x - self.VMPosOffset_Lerp.z * 10
|
||||
rtangles.y = rtangles.y + self.VMPosOffset_Lerp.y * 10
|
||||
|
||||
rtpos = self.VMPos + self.VMAng:Forward() * 15
|
||||
else
|
||||
rtangles = EyeAngles()
|
||||
rtpos = EyePos()
|
||||
end
|
||||
|
||||
local addads = 1
|
||||
|
||||
local rt = {
|
||||
w = rtsize,
|
||||
h = rtsize,
|
||||
angles = rtangles,
|
||||
origin = rtpos,
|
||||
drawviewmodel = false,
|
||||
fov = 15,
|
||||
}
|
||||
|
||||
rtsize = ScrH()
|
||||
|
||||
if ScrH() > ScrW() then rtsize = ScrW() end
|
||||
|
||||
local rtres = ScrH()*0.2
|
||||
|
||||
rtmat = GetRenderTarget("arccw_rtmat_ultima", rtres, rtres, false)
|
||||
|
||||
render.PushRenderTarget(rtmat, 0, 0, rtsize, rtsize)
|
||||
|
||||
render.ClearRenderTarget(rt, blackColor)
|
||||
|
||||
-- if self:GetState() == ArcCW.STATE_SIGHTS then
|
||||
render.RenderView(rt)
|
||||
cam.Start3D(EyePos(), EyeAngles(), rt.fov, 0, 0, nil, nil, 0, nil)
|
||||
self:DoLaser(false)
|
||||
cam.End3D()
|
||||
-- end
|
||||
|
||||
-- ArcCW.Overdraw = false
|
||||
-- ArcCW.LaserBehavior = false
|
||||
-- ArcCW.VMInRT = false
|
||||
|
||||
-- self:FormPP(rtmat)
|
||||
|
||||
render.PopRenderTarget()
|
||||
|
||||
cam.End3D()
|
||||
|
||||
-- if asight.Thermal then
|
||||
self:UltimaFormThermalImaging(rtmat)
|
||||
-- end
|
||||
end
|
||||
|
||||
local function IsWHOT(ent)
|
||||
if !ent:IsValid() or ent:IsWorld() then return false end
|
||||
|
||||
if ent:IsPlayer() then -- balling
|
||||
if ent.ArcticMedShots_ActiveEffects and ent.ArcticMedShots_ActiveEffects["coldblooded"] or ent:Health() <= 0 then return false end -- arc stims
|
||||
return true
|
||||
end
|
||||
|
||||
if ent:IsNPC() or ent:IsNextBot() then -- npcs
|
||||
if ent.ArcCWCLHealth and ent.ArcCWCLHealth <= 0 or ent:Health() <= 0 then return false end
|
||||
return true
|
||||
end
|
||||
|
||||
if ent:IsRagdoll() then -- ragdolling
|
||||
if !ent.ArcCW_ColdTime then ent.ArcCW_ColdTime = CurTime() + coldtime end
|
||||
return ent.ArcCW_ColdTime > CurTime()
|
||||
end
|
||||
|
||||
if ent:IsVehicle() or ent:IsOnFire() or ent.ArcCW_Hot or ent:IsScripted() and !ent:GetOwner():IsValid() then -- vroom vroom + :fire: + ents but not guns (guns on ground will be fine)
|
||||
return true
|
||||
end
|
||||
|
||||
return false
|
||||
end
|
||||
|
||||
function SWEP:UltimaFormThermalImaging(tex)
|
||||
if !tex then
|
||||
tex = render.GetRenderTarget()
|
||||
end
|
||||
|
||||
render.PushRenderTarget(tex)
|
||||
|
||||
cam.Start3D()
|
||||
|
||||
if tex then
|
||||
colormod2:SetTexture("$fbtexture", tex)
|
||||
else
|
||||
colormod2:SetTexture("$fbtexture", render.GetScreenEffectTexture())
|
||||
end
|
||||
|
||||
local nvsc = {r=255+0, g=255+1, b=255+16/255}
|
||||
local tvsc = {r=-255, g=-255, b=-255}
|
||||
|
||||
local tab = ents.GetAll()
|
||||
|
||||
-- table.Add(tab, player.GetAll())
|
||||
-- table.Add(tab, ents.FindByClass("npc_*"))
|
||||
|
||||
render.SetStencilEnable(true)
|
||||
render.SetStencilWriteMask(255)
|
||||
render.SetStencilTestMask(255)
|
||||
render.ClearStencil()
|
||||
|
||||
local sw = ScrH()
|
||||
local sh = sw
|
||||
|
||||
local sx = (ScrW() - sw) / 2
|
||||
local sy = (ScrH() - sh) / 2
|
||||
|
||||
render.SetScissorRect( sx, sy, sx + sw, sy + sh, true )
|
||||
|
||||
render.SetStencilReferenceValue(64)
|
||||
|
||||
render.SetStencilPassOperation(STENCIL_REPLACE)
|
||||
render.SetStencilFailOperation(STENCIL_KEEP)
|
||||
render.SetStencilZFailOperation(STENCIL_KEEP)
|
||||
render.SetStencilCompareFunction(STENCIL_ALWAYS)
|
||||
|
||||
for _, v in pairs(tab) do
|
||||
|
||||
if !IsWHOT(v) then continue end
|
||||
|
||||
-- if !asight.ThermalScopeSimple then
|
||||
render.SetBlend(0.5)
|
||||
render.SuppressEngineLighting(true)
|
||||
|
||||
render.SetColorModulation(250, 250, 250)
|
||||
|
||||
v:DrawModel()
|
||||
-- end
|
||||
end
|
||||
|
||||
render.SetColorModulation(1, 1, 1)
|
||||
|
||||
render.SuppressEngineLighting(false)
|
||||
|
||||
render.MaterialOverride()
|
||||
|
||||
render.SetBlend(1)
|
||||
|
||||
render.SetStencilCompareFunction(STENCIL_EQUAL)
|
||||
|
||||
|
||||
DrawColorModify({
|
||||
["$pp_colour_addr"] = 0,
|
||||
["$pp_colour_addg"] = 0,
|
||||
["$pp_colour_addb"] = 0,
|
||||
["$pp_colour_brightness"] = 0,
|
||||
["$pp_colour_contrast"] = 1,
|
||||
["$pp_colour_colour"] = 0,
|
||||
["$pp_colour_mulr"] = 0,
|
||||
["$pp_colour_mulg"] = 0,
|
||||
["$pp_colour_mulb"] = 0
|
||||
})
|
||||
|
||||
DrawColorModify({
|
||||
["$pp_colour_addr"] = tvsc.r - 255,
|
||||
["$pp_colour_addg"] = tvsc.g - 255,
|
||||
["$pp_colour_addb"] = tvsc.b - 255,
|
||||
["$pp_colour_addr"] = 0,
|
||||
["$pp_colour_addg"] = 0,
|
||||
["$pp_colour_addb"] = 0,
|
||||
["$pp_colour_brightness"] = 0,
|
||||
["$pp_colour_contrast"] = 1,
|
||||
["$pp_colour_colour"] = 1,
|
||||
["$pp_colour_mulr"] = 0,
|
||||
["$pp_colour_mulg"] = 0,
|
||||
["$pp_colour_mulb"] = 0
|
||||
})
|
||||
|
||||
-- if !asight.ThermalNoCC then
|
||||
render.SetStencilCompareFunction(STENCIL_NOTEQUAL)
|
||||
render.SetStencilPassOperation(STENCIL_KEEP)
|
||||
|
||||
|
||||
if GetConVar("arccw_thermalpp"):GetBool() and GetConVar("arccw_scopepp"):GetBool() then
|
||||
-- chromatic abberation
|
||||
|
||||
render.CopyRenderTargetToTexture(render.GetScreenEffectTexture())
|
||||
|
||||
render.SetMaterial( pp_ca_base )
|
||||
render.DrawScreenQuad()
|
||||
render.SetMaterial( pp_ca_r_thermal )
|
||||
render.DrawScreenQuad()
|
||||
render.SetMaterial( pp_ca_g_thermal )
|
||||
render.DrawScreenQuad()
|
||||
render.SetMaterial( pp_ca_b_thermal )
|
||||
render.DrawScreenQuad()
|
||||
-- pasted here cause otherwise either target colors will get fucked either pp either motion blur
|
||||
end
|
||||
|
||||
DrawColorModify({
|
||||
["$pp_colour_addr"] = nvsc.r - 255,
|
||||
["$pp_colour_addg"] = nvsc.g - 255,
|
||||
["$pp_colour_addb"] = nvsc.b - 255,
|
||||
-- ["$pp_colour_addr"] = 0,
|
||||
-- ["$pp_colour_addg"] = 0,
|
||||
-- ["$pp_colour_addb"] = 0,
|
||||
["$pp_colour_brightness"] = 0.1,
|
||||
["$pp_colour_contrast"] = 0.5,
|
||||
["$pp_colour_colour"] = 0.12,
|
||||
["$pp_colour_mulr"] = 0,
|
||||
["$pp_colour_mulg"] = 0,
|
||||
["$pp_colour_mulb"] = 0
|
||||
})
|
||||
-- end
|
||||
|
||||
render.SetScissorRect( sx, sy, sx + sw, sy + sh, false )
|
||||
|
||||
render.SetStencilEnable(false)
|
||||
|
||||
colormod2:SetTexture("$fbtexture", render.GetScreenEffectTexture())
|
||||
|
||||
cam.End3D()
|
||||
|
||||
if GetConVar("arccw_thermalpp"):GetBool() then
|
||||
if !render.SupportsPixelShaders_2_0() then return end
|
||||
|
||||
DrawSharpen(0.3,0.9)
|
||||
DrawBloom(0,0.3,5,5,3,0.5,1,1,1)
|
||||
-- DrawMotionBlur(0.7,1,1/(15)) -- seems to break shit
|
||||
end
|
||||
|
||||
|
||||
cam.Start2D()
|
||||
surface.SetMaterial(reticle)
|
||||
surface.SetDrawColor(255, 255, 255, 255)
|
||||
surface.DrawTexturedRect(0, 0, ScrH(), ScrH())
|
||||
cam.End2D()
|
||||
|
||||
render.PopRenderTarget()
|
||||
end
|
||||
|
||||
local fpsdelay = CurTime()
|
||||
|
||||
hook.Add("RenderScene", "ArcCW_ULTIMA_CAM", function()
|
||||
local wpn = LocalPlayer():GetActiveWeapon()
|
||||
|
||||
if wpn.ArcCW and wpn:GetClass() == "arccw_eft_mp155" and wpn.Attachments[8].Installed == "tac_eft_mp155_ultima_camera" then
|
||||
if fpsdelay > CurTime() then return end
|
||||
wpn:UltimaFormRTScope()
|
||||
wpn.Owner:GetViewModel():SetSubMaterial(28, "!arccw_rtmat_ultima")
|
||||
fpsdelay = CurTime()+1/15
|
||||
end
|
||||
end)
|
||||
end
|
||||
@@ -0,0 +1,520 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Oldie Weaponry" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "Regiment 9mm"
|
||||
SWEP.TrueName = "MP5"
|
||||
SWEP.Trivia_Class = "Submachine-Gun"
|
||||
SWEP.Trivia_Desc = "HK MP5 9x19 submachinegun with Navy 3 Round Burst firing mechanism version, which features three-round cutoff. Widely acclaimed model of a submachinegun, primarily known as weapon of GSG9 and similar forces of the world, and famous through frequent appearance in movies and video games."
|
||||
SWEP.Trivia_Manufacturer = "Heckler and Koch"
|
||||
SWEP.Trivia_Calibre = "9x19mm"
|
||||
SWEP.Trivia_Mechanism = "Gas-Operated"
|
||||
SWEP.Trivia_Country = "Germany"
|
||||
SWEP.Trivia_Year = 1966
|
||||
|
||||
SWEP.Slot = 2
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then SWEP.PrintName = SWEP.TrueName end
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arc_eft_mp5/c_eft_mp5_std/models/c_eft_mp5_std.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arc_eft_mp5/w_eft_mp5_std/models/w_eft_mp5_std.mdl"
|
||||
SWEP.ViewModelFOV = 54
|
||||
|
||||
SWEP.Damage = 12
|
||||
SWEP.DamageMin = 12 -- damage done at maximum range
|
||||
SWEP.Range = 90 -- in METRES
|
||||
SWEP.Penetration = 3
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 400 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
|
||||
SWEP.CanFireUnderwater = false
|
||||
|
||||
SWEP.TracerNum = 1 -- tracer every X
|
||||
SWEP.TracerCol = Color(255, 25, 25)
|
||||
SWEP.TracerWidth = 3
|
||||
|
||||
SWEP.ChamberSize = 1 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 30 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 50
|
||||
SWEP.ReducedClipSize = 20
|
||||
|
||||
SWEP.Recoil = .38
|
||||
SWEP.RecoilSide = 0.125
|
||||
SWEP.RecoilRise = 0.1
|
||||
SWEP.RecoilPunch = 2.5
|
||||
|
||||
SWEP.Delay = 60 / 800 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 2,
|
||||
},
|
||||
{
|
||||
Mode = -3,
|
||||
},
|
||||
{
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_smg1"
|
||||
SWEP.NPCWeight = 150
|
||||
|
||||
SWEP.AccuracyMOA = 18 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 300 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 200
|
||||
|
||||
SWEP.Primary.Ammo = "pistol" -- what ammo type the gun uses
|
||||
SWEP.MagID = "eft_mp5" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 100 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 110 -- pitch of shoot sound
|
||||
|
||||
SWEP.FirstShootSound = "weapons/arccw_eft/mp5k/mp5k_fp.wav"
|
||||
SWEP.ShootSound = "weapons/arccw_eft/mp5k/mp5k_fp.wav"
|
||||
SWEP.ShootSoundSilenced = "weapons/arccw_eft/mp5k/mp5k_suppressed_fp.wav"
|
||||
SWEP.DistantShootSound = "weapons/arccw_eft/mp5k/mp5k_dist.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_mp5"
|
||||
SWEP.ShellModel = "models/shells/shell_9mm.mdl"
|
||||
SWEP.ShellScale = 1.5
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.ShellScale = 1
|
||||
SWEP.ShellRotateAngle = Angle(0, 180, 0)
|
||||
|
||||
SWEP.SightTime = 0.275
|
||||
|
||||
SWEP.SpeedMult = 0.96
|
||||
SWEP.SightedSpeedMult = 0.75
|
||||
|
||||
SWEP.BarrelLength = 20
|
||||
|
||||
SWEP.BulletBones = { -- the bone that represents bullets in gun/mag
|
||||
-- [0] = "bulletchamber",
|
||||
-- [1] = "bullet1"
|
||||
}
|
||||
|
||||
SWEP.ProceduralRegularFire = true
|
||||
SWEP.ProceduralIronFire = true
|
||||
|
||||
SWEP.CaseBones = {}
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-3.642, -2, 2.05),
|
||||
Ang = Angle(-0.0, 0.0, 0),
|
||||
Magnification = 1.1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "smg"
|
||||
SWEP.HoldtypeSights = "ar2"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_SMG
|
||||
|
||||
SWEP.ActivePos = Vector(-1, 0, 2)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.HolsterPos = Vector(4, -2, 1)
|
||||
SWEP.HolsterAng = Angle(0, 50, -15)
|
||||
|
||||
SWEP.CustomizePos = Vector(-1.2 , 0, 1)
|
||||
SWEP.CustomizeAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.ExtraSightDist = 5
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["Mount_scopes"] = {
|
||||
VMBodygroups = {{ind = 2, bg = 1}},
|
||||
WMBodygroups = {{ind = 2, bg = 1}},
|
||||
},
|
||||
["Default_Stock"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 1}},
|
||||
WMBodygroups = {{ind = 3, bg = 1}},
|
||||
},
|
||||
["Magazine_30"] = {
|
||||
VMBodygroups = {{ind = 5, bg = 1}},
|
||||
WMBodygroups = {{ind = 4, bg = 1}},
|
||||
},
|
||||
["Magazine_20"] = {
|
||||
VMBodygroups = {{ind = 5, bg = 3}},
|
||||
WMBodygroups = {{ind = 4, bg = 3}},
|
||||
},
|
||||
["extendedmag"] = {
|
||||
VMBodygroups = {{ind = 5, bg = 2}},
|
||||
WMBodygroups = {{ind = 4, bg = 2}},
|
||||
},
|
||||
["Default_Handguard"] = {
|
||||
VMBodygroups = {{ind = 6, bg = 1}},
|
||||
WMBodygroups = {{ind = 5, bg = 1}},
|
||||
},
|
||||
["Default_Muzzle"] = {
|
||||
VMBodygroups = {{ind = 7, bg = 1}},
|
||||
WMBodygroups = {{ind = 6, bg = 1}},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic", -- print name
|
||||
DefaultAttName = "Iron Sights",
|
||||
Slot = {"eft_optic_large", "eft_optic_medium", "eft_optic_small"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "mod_reciever", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vang = Angle(90, -90, -90),
|
||||
wang = Angle(-5, 0, 180)
|
||||
},
|
||||
CorrectivePos = Vector(0, 0, 0),
|
||||
CorrectiveAng = Angle(0, 180, 180),
|
||||
SlideAmount = { -- how far this attachment can slide in both directions.
|
||||
-- overrides Offset
|
||||
vmin = Vector(0, 0.5, 3.65),
|
||||
vmax = Vector(0, -1.6, 3.7),
|
||||
wmin = Vector(5.5, 0.5, -5.8),
|
||||
wmax = Vector(6.5, 0.5, -5.9),
|
||||
},
|
||||
InstalledEles = {"Mount_scopes"},
|
||||
},
|
||||
{
|
||||
PrintName = "Muzzle Device",
|
||||
DefaultAttName = "3 Lug adapter",
|
||||
Slot = {"eft_muzzle_mp5", "eft_surpressor_9mm"},
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/3lug_muzzleicon.png"),
|
||||
Bone = "mod_reciever",
|
||||
Offset = {
|
||||
vpos = Vector(0, 9.5, 2.25),
|
||||
vang = Angle(0, -90, 0),
|
||||
wpos = Vector(16.6, 0.5, -5.3),
|
||||
wang = Angle(-5, 0, 0),
|
||||
},
|
||||
InstalledEles = {"Default_Muzzle"},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = "eft_tactical",
|
||||
Bone = "mod_reciever",
|
||||
Offset = {
|
||||
vpos = Vector(-.9, 5.5, 2), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, -90, -90),
|
||||
wpos = Vector(13, -0.45, -4.95),
|
||||
wang = Angle(-5, 0, 90),
|
||||
},
|
||||
RequireFlags = {"siderail"},
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = "eft_foregrip",
|
||||
Bone = "mod_reciever",
|
||||
DefaultAttName = "No Underbarrel",
|
||||
Offset = {
|
||||
vpos = Vector(0, 6, 1.25),
|
||||
vang = Angle(90, -90, -90),
|
||||
wpos = Vector(12, 0, -4),
|
||||
wang = Angle(-5, 0, 180)
|
||||
},
|
||||
RequireFlags = {"lowerrail"},
|
||||
},
|
||||
{
|
||||
PrintName = "Stock",
|
||||
Slot = "eftmp5_stock",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/A2_StockIcon.png"),
|
||||
Bone = "mod_stock",
|
||||
DefaultAttName = "A2 Stock",
|
||||
Offset = {
|
||||
vpos = Vector(0, 0, 0), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, -90, 0),
|
||||
wpos = Vector(2, 0.5, -3),
|
||||
wang = Angle(-5, 0, 180)
|
||||
},
|
||||
InstalledEles = {"Default_Stock"},
|
||||
},
|
||||
{
|
||||
PrintName = "Handguard",
|
||||
Slot = "eftmp5_handguard",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/Navy_HandguardIcon.png"),
|
||||
Bone = "mod_reciever",
|
||||
DefaultAttName = "Navy Handguard",
|
||||
Offset = {
|
||||
vpos = Vector(0, 5.25, 1.9), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(-90, -0, -90),
|
||||
wpos = Vector(12.25, 0.5, -4.75),
|
||||
wang = Angle(85, 0, 180)
|
||||
},
|
||||
InstalledEles = {"Default_Handguard"},
|
||||
},
|
||||
{
|
||||
PrintName = "Magazine",
|
||||
DefaultAttName = "30-Round Mag",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/MP5_30Mag_Icon.png"),
|
||||
InstalledEles = {"Magazine_30"},
|
||||
Slot = "eftmp5_mag"
|
||||
},
|
||||
{
|
||||
PrintName = "Caliber",
|
||||
DefaultAttName = "9x19 Pst Gzh",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/9x19_Icon.png"),
|
||||
Slot = "ammo_eft_9x19"
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = false,
|
||||
LHIK = false,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "draw_first",
|
||||
Time = 1.5,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltback.wav",
|
||||
t = 0.3
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltrelease.wav",
|
||||
t = 0.
|
||||
}
|
||||
},
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
["draw_empty"] = {
|
||||
Source = "draw_empty",
|
||||
Time = 0.75,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 2,
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
Time = 0.9,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 1,
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "shoot",
|
||||
Time = 0.5,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["fire_empty"] = {
|
||||
Source = "shoot_dry",
|
||||
Time = 1,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "shoot",
|
||||
Time = 1,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["fire_iron_empty"] = {
|
||||
Source = "shoot_dry",
|
||||
Time = 1,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
Time = 3,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
|
||||
FrameRate = 24,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.3,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magrelease.wav",
|
||||
t = 0.35
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magout.wav",
|
||||
t = 0.4
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magin.wav",
|
||||
t = 1.8
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_long"] = {
|
||||
Source = "reload_extended",
|
||||
Time = 3,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
|
||||
FrameRate = 24,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.3,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magrelease.wav",
|
||||
t = 0.35
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magout.wav",
|
||||
t = 0.4
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magin.wav",
|
||||
t = 1.8
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_short"] = {
|
||||
Source = "reload_decreased",
|
||||
Time = 3,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
|
||||
FrameRate = 24,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.3,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magrelease.wav",
|
||||
t = 0.35
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magout.wav",
|
||||
t = 0.4
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magin.wav",
|
||||
t = 1.8
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload_empty",
|
||||
Time = 4,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
|
||||
FrameRate = 24,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltback.wav",
|
||||
t = 0.45
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltlock.wav",
|
||||
t = 0.55
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magout.wav",
|
||||
t = 1.1
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magin.wav",
|
||||
t = 2.5
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltrelease.wav",
|
||||
t = 3.5
|
||||
}
|
||||
},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.3,
|
||||
},
|
||||
["reload_long_empty"] = {
|
||||
Source = "reload_empty_extended",
|
||||
Time = 4,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
|
||||
FrameRate = 24,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltback.wav",
|
||||
t = 0.45
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltlock.wav",
|
||||
t = 0.55
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magout.wav",
|
||||
t = 1.1
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magin.wav",
|
||||
t = 2.5
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltrelease.wav",
|
||||
t = 3.5
|
||||
}
|
||||
},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.3,
|
||||
},
|
||||
["reload_short_empty"] = {
|
||||
Source = "reload_empty_decreased",
|
||||
Time = 4,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
|
||||
FrameRate = 24,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltback.wav",
|
||||
t = 0.45
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltlock.wav",
|
||||
t = 0.55
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magout.wav",
|
||||
t = 1.1
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magin.wav",
|
||||
t = 2.5
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltrelease.wav",
|
||||
t = 3.5
|
||||
}
|
||||
},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.3,
|
||||
},
|
||||
["enter_inspect"] = {
|
||||
Source = "customise_begin",
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["idle_inspect"] = {
|
||||
Source = "customise_idle",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["exit_inspect"] = {
|
||||
Source = "customise_end",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.3,
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,474 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Oldie Weaponry" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "Regiment-SD 9mm"
|
||||
SWEP.TrueName = "MP5SD"
|
||||
SWEP.Trivia_Class = "Submachine-Gun"
|
||||
SWEP.Trivia_Desc = "HK MP5 9x19 submachinegun with Navy 3 Round Burst firing mechanism version, which features three-round cutoff. Widely acclaimed model of a submachinegun, primarily known as weapon of GSG9 and similar forces of the world, and famous through frequent appearance in movies and video games."
|
||||
SWEP.Trivia_Manufacturer = "Heckler and Koch"
|
||||
SWEP.Trivia_Calibre = "9x19mm"
|
||||
SWEP.Trivia_Mechanism = "Gas-Operated"
|
||||
SWEP.Trivia_Country = "Germany"
|
||||
SWEP.Trivia_Year = 1966
|
||||
|
||||
SWEP.Slot = 2
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then SWEP.PrintName = SWEP.TrueName end
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arc_eft_mp5/c_eft_mp5/models/c_eft_mp5.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arc_eft_mp5/w_eft_mp5/models/w_eft_mp5.mdl"
|
||||
SWEP.ViewModelFOV = 54
|
||||
|
||||
SWEP.Damage = 10
|
||||
SWEP.DamageMin = 10 -- damage done at maximum range
|
||||
SWEP.Range = 90 -- in METRES
|
||||
SWEP.Penetration = 3
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 400 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
|
||||
SWEP.CanFireUnderwater = false
|
||||
|
||||
SWEP.TracerNum = 1 -- tracer every X
|
||||
SWEP.TracerCol = Color(255, 25, 25)
|
||||
SWEP.TracerWidth = 3
|
||||
|
||||
SWEP.ChamberSize = 1 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 30 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 50
|
||||
SWEP.ReducedClipSize = 20
|
||||
|
||||
SWEP.Recoil = .36
|
||||
SWEP.RecoilSide = 0.125
|
||||
SWEP.RecoilRise = 0.1
|
||||
SWEP.RecoilPunch = 2.5
|
||||
|
||||
SWEP.Delay = 60 / 800 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 2,
|
||||
},
|
||||
{
|
||||
Mode = -3,
|
||||
},
|
||||
{
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_smg1"
|
||||
SWEP.NPCWeight = 150
|
||||
|
||||
SWEP.AccuracyMOA = 15 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 250 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 150
|
||||
|
||||
SWEP.Primary.Ammo = "pistol" -- what ammo type the gun uses
|
||||
SWEP.MagID = "eft_mp5" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 100 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 110 -- pitch of shoot sound
|
||||
|
||||
SWEP.FirstShootSound = "weapons/arccw_eft/mp5k/mp5k_suppressed_fp.wav"
|
||||
SWEP.ShootSound = "weapons/arccw_eft/mp5k/mp5k_suppressed_fp.wav"
|
||||
SWEP.ShootSoundSilenced = "weapons/arccw_eft/mp5k/mp5k_suppressed_fp.wav"
|
||||
SWEP.DistantShootSound = "weapons/arccw_eft/mp5k/mp5k_suppressed_tp.wav"
|
||||
|
||||
SWEP.GMMuzzleEffect = true
|
||||
SWEP.MuzzleEffect = ""
|
||||
SWEP.NoFlash = true
|
||||
SWEP.ShellModel = "models/shells/shell_9mm.mdl"
|
||||
SWEP.ShellScale = 1.5
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.ShellScale = 1
|
||||
SWEP.ShellRotateAngle = Angle(0, 180, 0)
|
||||
|
||||
SWEP.SightTime = 0.275
|
||||
|
||||
SWEP.SpeedMult = 0.94
|
||||
SWEP.SightedSpeedMult = 0.75
|
||||
|
||||
SWEP.BarrelLength = 24
|
||||
|
||||
SWEP.BulletBones = { -- the bone that represents bullets in gun/mag
|
||||
-- [0] = "bulletchamber",
|
||||
-- [1] = "bullet1"
|
||||
}
|
||||
|
||||
SWEP.ProceduralRegularFire = true
|
||||
SWEP.ProceduralIronFire = true
|
||||
|
||||
SWEP.CaseBones = {}
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-3.642, -2, 2.05),
|
||||
Ang = Angle(-0.0, 0.0, 0),
|
||||
Magnification = 1.1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "smg"
|
||||
SWEP.HoldtypeSights = "ar2"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_SMG
|
||||
|
||||
SWEP.ActivePos = Vector(-1, 0, 2)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.HolsterPos = Vector(4, -2, 1)
|
||||
SWEP.HolsterAng = Angle(0, 50, -15)
|
||||
|
||||
SWEP.CustomizePos = Vector(-1.2 , 0, 1)
|
||||
SWEP.CustomizeAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.ExtraSightDist = 5
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["Mount_scopes"] = {
|
||||
VMBodygroups = {{ind = 2, bg = 1}},
|
||||
WMBodygroups = {{ind = 2, bg = 1}},
|
||||
},
|
||||
["Gadget_Mount"] = {
|
||||
VMBodygroups = {{ind = 3, bg = 1}},
|
||||
WMBodygroups = {{ind = 3, bg = 1}},
|
||||
},
|
||||
["Default_Stock"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 1}},
|
||||
WMBodygroups = {{ind = 4, bg = 1}},
|
||||
},
|
||||
["Magazine_30"] = {
|
||||
VMBodygroups = {{ind = 5, bg = 1}},
|
||||
WMBodygroups = {{ind = 5, bg = 1}},
|
||||
},
|
||||
["Magazine_20"] = {
|
||||
VMBodygroups = {{ind = 5, bg = 3}},
|
||||
WMBodygroups = {{ind = 5, bg = 3}},
|
||||
},
|
||||
["extendedmag"] = {
|
||||
VMBodygroups = {{ind = 5, bg = 2}},
|
||||
WMBodygroups = {{ind = 5, bg = 2}},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic", -- print name
|
||||
DefaultAttName = "Iron Sights",
|
||||
Slot = {"eft_optic_large", "eft_optic_medium", "eft_optic_small"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "mod_reciever", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vang = Angle(90, -90, -90),
|
||||
wang = Angle(-5, 0, 180)
|
||||
},
|
||||
CorrectivePos = Vector(0, 0, 0),
|
||||
CorrectiveAng = Angle(0, 180, 180),
|
||||
SlideAmount = { -- how far this attachment can slide in both directions.
|
||||
-- overrides Offset
|
||||
vmin = Vector(0, 0.5, 3.65),
|
||||
vmax = Vector(0, -1.6, 3.7),
|
||||
wmin = Vector(5.5, 0.5, -5.8),
|
||||
wmax = Vector(6.5, 0.5, -5.9),
|
||||
},
|
||||
InstalledEles = {"Mount_scopes"},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = "eft_tactical",
|
||||
Bone = "mod_reciever",
|
||||
Offset = {
|
||||
vpos = Vector(0, 10, 1), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, -90, 0),
|
||||
wpos = Vector(16.65, 0.5, -4),
|
||||
wang = Angle(-5, 0, 180),
|
||||
},
|
||||
InstalledEles = {"Gadget_Mount"},
|
||||
},
|
||||
{
|
||||
PrintName = "Stock",
|
||||
Slot = "eftmp5_stock",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/A2_StockIcon.png"),
|
||||
Bone = "mod_stock",
|
||||
DefaultAttName = "A2 Stock",
|
||||
Offset = {
|
||||
vpos = Vector(0, 0, 0), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, -90, 0),
|
||||
wpos = Vector(2, 0.5, -3),
|
||||
wang = Angle(-5, 0, 180)
|
||||
},
|
||||
InstalledEles = {"Default_Stock"},
|
||||
},
|
||||
{
|
||||
PrintName = "Magazine",
|
||||
DefaultAttName = "30-Round Mag",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/MP5_30Mag_Icon.png"),
|
||||
InstalledEles = {"Magazine_30"},
|
||||
Slot = "eftmp5_mag"
|
||||
},
|
||||
{
|
||||
PrintName = "Caliber",
|
||||
DefaultAttName = "9x19 Pst Gzh",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/9x19_Icon.png"),
|
||||
Slot = "ammo_eft_9x19"
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = false
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "draw_first",
|
||||
Time = 1.5,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltback.wav",
|
||||
t = 0.3
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltrelease.wav",
|
||||
t = 0.
|
||||
}
|
||||
},
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
["draw_empty"] = {
|
||||
Source = "draw_empty",
|
||||
Time = 0.75,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
Time = 0.75,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "shoot",
|
||||
Time = 0.5,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["fire_empty"] = {
|
||||
Source = "shoot_dry",
|
||||
Time = 1,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "shoot",
|
||||
Time = 1,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["fire_iron_empty"] = {
|
||||
Source = "shoot_dry",
|
||||
Time = 1,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
Time = 3,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
|
||||
FrameRate = 24,
|
||||
LHIK = true,
|
||||
LHIKIn = 1,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magrelease.wav",
|
||||
t = 0.35
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magout.wav",
|
||||
t = 0.4
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magin.wav",
|
||||
t = 1.8
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_long"] = {
|
||||
Source = "reload_extended",
|
||||
Time = 3,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
|
||||
FrameRate = 24,
|
||||
LHIK = true,
|
||||
LHIKIn = 1,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magrelease.wav",
|
||||
t = 0.35
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magout.wav",
|
||||
t = 0.4
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magin.wav",
|
||||
t = 1.8
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_short"] = {
|
||||
Source = "reload_decreased",
|
||||
Time = 3,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
|
||||
FrameRate = 24,
|
||||
LHIK = true,
|
||||
LHIKIn = 1,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magrelease.wav",
|
||||
t = 0.35
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magout.wav",
|
||||
t = 0.4
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magin.wav",
|
||||
t = 1.8
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload_empty",
|
||||
Time = 4,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
|
||||
FrameRate = 24,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltback.wav",
|
||||
t = 0.45
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltlock.wav",
|
||||
t = 0.55
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magout.wav",
|
||||
t = 1.1
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magin.wav",
|
||||
t = 2.5
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltrelease.wav",
|
||||
t = 3.5
|
||||
}
|
||||
},
|
||||
LHIK = true,
|
||||
LHIKIn = 1,
|
||||
LHIKOut = 0.6,
|
||||
},
|
||||
["reload_long_empty"] = {
|
||||
Source = "reload_empty_extended",
|
||||
Time = 4,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
|
||||
FrameRate = 24,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltback.wav",
|
||||
t = 0.45
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltlock.wav",
|
||||
t = 0.55
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magout.wav",
|
||||
t = 1.1
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magin.wav",
|
||||
t = 2.5
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltrelease.wav",
|
||||
t = 3.5
|
||||
}
|
||||
},
|
||||
LHIK = true,
|
||||
LHIKIn = 1,
|
||||
LHIKOut = 0.6,
|
||||
},
|
||||
["reload_short_empty"] = {
|
||||
Source = "reload_empty_decreased",
|
||||
Time = 4,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
|
||||
FrameRate = 24,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltback.wav",
|
||||
t = 0.45
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltlock.wav",
|
||||
t = 0.55
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magout.wav",
|
||||
t = 1.1
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_magin.wav",
|
||||
t = 2.5
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp5k/handling/mp5k_boltrelease.wav",
|
||||
t = 3.5
|
||||
}
|
||||
},
|
||||
LHIK = true,
|
||||
LHIKIn = 1,
|
||||
LHIKOut = 0.6,
|
||||
},
|
||||
["enter_inspect"] = {
|
||||
Source = "customise_begin",
|
||||
LHIK = true,
|
||||
LHIKIn = 1,
|
||||
LHIKOut = 0.6,
|
||||
},
|
||||
["idle_inspect"] = {
|
||||
Source = "customise_idle",
|
||||
LHIK = true,
|
||||
LHIKIn = 1,
|
||||
LHIKOut = 0.6,
|
||||
},
|
||||
["exit_inspect"] = {
|
||||
Source = "customise_end",
|
||||
LHIK = true,
|
||||
LHIKIn = 1,
|
||||
LHIKOut = 0.6,
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,505 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Modern Weaponry" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "MP7A1"
|
||||
SWEP.Trivia_Class = "PDW"
|
||||
SWEP.Trivia_Desc = "The MP7 is extremely compact, lightweight, can be used in very confined spaces, and is practically recoil-free. It can be carried continuously, making it the ideal personal weapon for the soldier of today. Those who carry it will be suitably armed for the broadest range of operations."
|
||||
SWEP.Trivia_Manufacturer = "Heckler & Koch"
|
||||
SWEP.Trivia_Calibre = "4.6x30mm"
|
||||
SWEP.Trivia_Mechanism = "blowback-operated"
|
||||
SWEP.Trivia_Country = "Germany"
|
||||
SWEP.Trivia_Year = 2003
|
||||
|
||||
SWEP.Slot = 2
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arc_eft_mp7/eft_mp7/models/c_eft_mp7.mdl"
|
||||
SWEP.WorldModel = "models/weapons/w_smg1.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
|
||||
SWEP.DefaultBodygroups = "000000000000"
|
||||
|
||||
SWEP.Damage = 14
|
||||
SWEP.DamageMin = 14 -- damage done at maximum range
|
||||
SWEP.Range = 90 -- in METRES
|
||||
SWEP.Penetration = 11
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 1050 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
SWEP.ChamberSize = 1 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 30 -- DefaultClip is automatically set.
|
||||
|
||||
SWEP.PhysBulletMuzzleVelocity = 740
|
||||
|
||||
SWEP.Recoil = 0.39
|
||||
SWEP.RecoilSide = 0.091
|
||||
SWEP.RecoilRise = 0.1
|
||||
SWEP.RecoilPunch = 2.5
|
||||
|
||||
SWEP.Delay = 60 / 850 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 2,
|
||||
},
|
||||
{
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0,
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_smg1"
|
||||
SWEP.NPCWeight = 100
|
||||
|
||||
SWEP.AccuracyMOA = 17 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 400 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 200
|
||||
|
||||
SWEP.Primary.Ammo = "smg1" -- what ammo type the gun uses
|
||||
SWEP.MagID = "mp7" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 100 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 100 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "weapons/arccw_eft/mp7/eft_mp7_close.wav"
|
||||
SWEP.ShootSoundSilenced = "weapons/arccw_eft/mp7/eft_mp7_surpressed.wav"
|
||||
SWEP.DistantShootSound = "weapons/arccw_eft/mp7/eft_mp7_distant.wav"
|
||||
|
||||
SWEP.MeleeSwingSound = "arccw_go/m249/m249_draw.wav"
|
||||
SWEP.MeleeMissSound = "weapons/iceaxe/iceaxe_swing1.wav"
|
||||
SWEP.MeleeHitSound = "arccw_go/knife/knife_hitwall1.wav"
|
||||
SWEP.MeleeHitNPCSound = "physics/body/body_medium_break2.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_mp5"
|
||||
SWEP.ShellModel = "models/shells/shell_9mm.mdl"
|
||||
SWEP.ShellPitch = 100
|
||||
SWEP.ShellScale = 1.25
|
||||
SWEP.ShellRotateAngle = Angle(0, 180, 0)
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
SWEP.CamAttachment = 3 -- if set, this attachment will control camera movement
|
||||
|
||||
SWEP.BulletBones = { -- the bone that represents bullets in gun/mag
|
||||
[0] = "patron_in_weapon",
|
||||
[1] = "patron_001",
|
||||
[2] = "patron_002",
|
||||
[3] = "patron_003",
|
||||
[4] = "patron_004",
|
||||
[5] = "patron_005"
|
||||
}
|
||||
|
||||
SWEP.SpeedMult = 0.97
|
||||
SWEP.SightedSpeedMult = 0.85
|
||||
SWEP.SightTime = 0.24
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-3.673, 3, 1.06),
|
||||
Ang = Angle(0, 0.0, 0),
|
||||
Magnification = 1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
CrosshairInSights = false
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "smg"
|
||||
SWEP.HoldtypeSights = "ar2"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
SWEP.ActivePos = Vector(0, 4, 1)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.CrouchPos = Vector(0, 3, 0.6)
|
||||
SWEP.CrouchAng = Angle(0, 0, 5)
|
||||
|
||||
SWEP.HolsterPos = Vector(3, 3, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.CustomizePos = Vector(0, 3, 0)
|
||||
SWEP.CustomizeAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.BarrelLength = 24
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["Flip_Sights"] = {
|
||||
VMBodygroups = {{ind = 3, bg = 1}},
|
||||
},
|
||||
["Mag"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 1}},
|
||||
},
|
||||
["Stock"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 1}},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.ExtraSightDist = 10
|
||||
SWEP.GuaranteeLaser = true
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-14, 6, -4),
|
||||
ang = Angle(-10, 0, 180)
|
||||
}
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-9, 5.5, -8.5),
|
||||
ang = Angle(0, 0, 180),
|
||||
bone = "ValveBiped.Bip01_R_Hand",
|
||||
scale = 1
|
||||
}
|
||||
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic", -- print name
|
||||
DefaultAttName = "Iron Sights",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_mp7/eft_mp7_sight.png"),
|
||||
Slot = {"eft_optic_large", "eft_optic_medium", "eft_optic_small"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "mod_sight_front", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vang = Angle(90, -90, -90),
|
||||
},
|
||||
CorrectivePos = Vector(0, 0, 0),
|
||||
CorrectiveAng = Angle(0, 180, 180),
|
||||
SlideAmount = { -- how far this attachment can slide in both directions.
|
||||
-- overrides Offset
|
||||
vmin = Vector(0, -4, 0),
|
||||
vmax = Vector(0, -6.5, 0),
|
||||
},
|
||||
InstalledEles = {"Flip_Sights"},
|
||||
},
|
||||
{
|
||||
PrintName = "Muzzle",
|
||||
DefaultAttName = "Standard Muzzle",
|
||||
Slot = "eft_mp7_surpressor",
|
||||
Bone = "mod_muzzle",
|
||||
Offset = {
|
||||
vpos = Vector(-0, 0.5, 0), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, -90, 0),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical - Left",
|
||||
Slot = "eft_tactical",
|
||||
Bone = "mod_sight_front",
|
||||
Offset = {
|
||||
vpos = Vector(0.8, -1, -2), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, -90, 90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical - Right",
|
||||
Slot = "eft_tactical",
|
||||
Bone = "mod_sight_front",
|
||||
Offset = {
|
||||
vpos = Vector(-0.8, -1, -2), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, -90, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Stock",
|
||||
DefaultAttName = "Unfolded Stock",
|
||||
Slot = "eft_mp7_stock",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_mp7/eft_mp7_StockUnFolded.png"),
|
||||
InstalledEles = {"Stock"},
|
||||
},
|
||||
{
|
||||
PrintName = "Magazine",
|
||||
DefaultAttName = "20-Round Mag",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_mp7/eft_mp7_mag20.png"),
|
||||
InstalledEles = {"Magazine_20"},
|
||||
Slot = "eft_mag_mp7",
|
||||
Bone = "mod_magazine", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(0, 0, 0),
|
||||
vang = Angle(90, -90, -90),
|
||||
},
|
||||
InstalledEles = {"Mag"},
|
||||
},
|
||||
{
|
||||
PrintName = "Caliber",
|
||||
DefaultAttName = "4.6x30mm FMJ",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_mp7/eft_mp7_bullet.png"),
|
||||
Slot = "ammo_eft_46x30"
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle"
|
||||
},
|
||||
["idle_empty"] = {
|
||||
Source = "idle_empty"
|
||||
},
|
||||
["idle_inspect"] = {
|
||||
Source = "inventory_idle"
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
LHIK = false,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.9,
|
||||
},
|
||||
["holster"] = {
|
||||
Source = "holster",
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "draw_first", "draw_first2",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.8,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/ump/mp5_weap_bolt_in_slap.wav",
|
||||
t = 0.8
|
||||
}
|
||||
},
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "fire",
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "fire",
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload_short",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4, -- In/Out controls how long it takes to switch to regular animation.
|
||||
LHIKOut = 0.4, -- (not actually inverse kinematics)
|
||||
LHIKEaseIn = 0.4, -- how long LHIK eases in.
|
||||
LHIKEaseOut = 0.4, -- if no value is specified then ease = lhikin
|
||||
Checkpoints = { 0.8, 1.9 },
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/mp7/mp5_weap_mag_release_button.wav",
|
||||
t = 0.5
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp7/mp5_weap_mag_out.wav",
|
||||
t = 0.55
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp7/mp5_weap_mag_in.wav",
|
||||
t = 1.85
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload_short_empty",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4, -- In/Out controls how long it takes to switch to regular animation.
|
||||
LHIKOut = 0.8, -- (not actually inverse kinematics)
|
||||
LHIKEaseIn = 0.4, -- how long LHIK eases in.
|
||||
LHIKEaseOut = 0.4, -- if no value is specified then ease = lhikin
|
||||
Checkpoints = { 0.8, 1.9 },
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/mp7/mp5_weap_mag_release_button.wav",
|
||||
t = 0.5
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp7/mp5_weap_mag_out.wav",
|
||||
t = 0.55
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp7/mp5_weap_mag_in.wav",
|
||||
t = 1.85
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp7/mp5_weap_bolt_in_slap.wav",
|
||||
t = 3.1
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_extended"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4, -- In/Out controls how long it takes to switch to regular animation.
|
||||
LHIKOut = 0.4, -- (not actually inverse kinematics)
|
||||
LHIKEaseIn = 0.4, -- how long LHIK eases in.
|
||||
LHIKEaseOut = 0.4, -- if no value is specified then ease = lhikin
|
||||
Checkpoints = { 0.8, 1.9 },
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/mp7/mp5_weap_mag_release_button.wav",
|
||||
t = 0.5
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp7/mp5_weap_mag_out.wav",
|
||||
t = 0.55
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp7/mp5_weap_mag_in.wav",
|
||||
t = 1.85
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_extended_empty"] = {
|
||||
Source = "reload_empty",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4, -- In/Out controls how long it takes to switch to regular animation.
|
||||
LHIKOut = 0.8, -- (not actually inverse kinematics)
|
||||
LHIKEaseIn = 0.4, -- how long LHIK eases in.
|
||||
LHIKEaseOut = 0.4, -- if no value is specified then ease = lhikin
|
||||
Checkpoints = { 0.8, 1.9 },
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/mp7/mp5_weap_mag_release_button.wav",
|
||||
t = 0.5
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp7/mp5_weap_mag_out.wav",
|
||||
t = 0.55
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp7/mp5_weap_mag_in.wav",
|
||||
t = 1.85
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp7/mp5_weap_bolt_in_slap.wav",
|
||||
t = 3.1
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_extended2"] = {
|
||||
Source = "reload_long",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4, -- In/Out controls how long it takes to switch to regular animation.
|
||||
LHIKOut = 0.4, -- (not actually inverse kinematics)
|
||||
LHIKEaseIn = 0.4, -- how long LHIK eases in.
|
||||
LHIKEaseOut = 0.4, -- if no value is specified then ease = lhikin
|
||||
Checkpoints = { 0.8, 1.9 },
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/mp7/mp5_weap_mag_release_button.wav",
|
||||
t = 0.5
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp7/mp5_weap_mag_out.wav",
|
||||
t = 0.55
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp7/mp5_weap_mag_in.wav",
|
||||
t = 1.85
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_extended2_empty"] = {
|
||||
Source = "reload_long_empty",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4, -- In/Out controls how long it takes to switch to regular animation.
|
||||
LHIKOut = 0.8, -- (not actually inverse kinematics)
|
||||
LHIKEaseIn = 0.4, -- how long LHIK eases in.
|
||||
LHIKEaseOut = 0.4, -- if no value is specified then ease = lhikin
|
||||
Checkpoints = { 0.8, 1.9 },
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/mp7/mp5_weap_mag_release_button.wav",
|
||||
t = 0.5
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp7/mp5_weap_mag_out.wav",
|
||||
t = 0.55
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp7/mp5_weap_mag_in.wav",
|
||||
t = 1.85
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/mp7/mp5_weap_bolt_in_slap.wav",
|
||||
t = 3.1
|
||||
}
|
||||
},
|
||||
},
|
||||
["0_to_1"] = {
|
||||
Source = "firemode_1",
|
||||
LHIK = false,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.2,
|
||||
},
|
||||
["0_to_2"] = {
|
||||
Source = "firemode_1",
|
||||
LHIK = false,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.2,
|
||||
},
|
||||
["1_to_2"] = {
|
||||
Source = "firemode_0",
|
||||
LHIK = false,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.2,
|
||||
},
|
||||
["1_to_0"] = {
|
||||
Source = "firemode_0",
|
||||
LHIK = false,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.2,
|
||||
},
|
||||
["2_to_1"] = {
|
||||
Source = "firemode_1",
|
||||
LHIK = false,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.2,
|
||||
},
|
||||
["2_to_0"] = {
|
||||
Source = "firemode_1",
|
||||
LHIK = false,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.2,
|
||||
},
|
||||
["enter_inspect"] = {
|
||||
Source = "inventory_begin",
|
||||
LHIK = true,
|
||||
LHIKIn = 1,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["idle_inspect"] = {
|
||||
Source = "inventory_idle",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["exit_inspect"] = {
|
||||
Source = "inventory_end",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.3,
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,382 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Oldie Weaponry" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "PPSH-41"
|
||||
SWEP.Trivia_Class = "Submachine Gun"
|
||||
SWEP.Trivia_Desc = "The PPSh-41 (pistolet-pulemyot Shpagina; Russian: Пистолет-пулемёт Шпагина; Shpagin machine pistol ) is a Soviet submachine gun designed by Georgy Shpagin as a cheap, reliable, and simplified alternative to the PPD-40."
|
||||
SWEP.Trivia_Manufacturer = "Numerous"
|
||||
SWEP.Trivia_Calibre = " 7.62x25mm Tokarev"
|
||||
SWEP.Trivia_Mechanism = "Open Bolt"
|
||||
SWEP.Trivia_Country = "Russia"
|
||||
SWEP.Trivia_Year = 1941
|
||||
|
||||
SWEP.Slot = 2
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arc_eft_ppsh/c_eft_ppsh/models/c_eft_ppsh.mdl"
|
||||
SWEP.WorldModel = "models/weapons/w_smg_mp5.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
|
||||
SWEP.DefaultBodygroups = "000000000000"
|
||||
|
||||
SWEP.Damage = 9
|
||||
SWEP.DamageMin = 9 -- damage done at maximum range
|
||||
SWEP.Range = 90 -- in METRES
|
||||
SWEP.Penetration = 5
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 900 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
SWEP.ChamberSize = 1 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 35 -- DefaultClip is automatically set.
|
||||
|
||||
SWEP.PhysBulletMuzzleVelocity = 400
|
||||
|
||||
SWEP.Recoil = 0.34
|
||||
SWEP.RecoilSide = 0.25
|
||||
SWEP.RecoilRise = 0.1
|
||||
SWEP.RecoilPunch = 2.5
|
||||
|
||||
SWEP.Delay = 60 / 900 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 2,
|
||||
},
|
||||
{
|
||||
Mode = 1,
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_smg1"
|
||||
SWEP.NPCWeight = 100
|
||||
|
||||
SWEP.AccuracyMOA = 20 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 450 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 250
|
||||
|
||||
SWEP.Primary.Ammo = "pistol" -- what ammo type the gun uses
|
||||
SWEP.MagID = "ppsh" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 100 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 100 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "weapons/arccw_eft/ppsh/tt_fire_indoor_close.wav"
|
||||
SWEP.ShootSoundSilenced = "arccw_go/mp5/mp5_01.wav"
|
||||
SWEP.DistantShootSound = "weapons/arccw_eft/ppsh/tt_fire_indoor_distant.wav"
|
||||
|
||||
SWEP.MeleeSwingSound = "arccw_go/m249/m249_draw.wav"
|
||||
SWEP.MeleeMissSound = "weapons/iceaxe/iceaxe_swing1.wav"
|
||||
SWEP.MeleeHitSound = "arccw_go/knife/knife_hitwall1.wav"
|
||||
SWEP.MeleeHitNPCSound = "physics/body/body_medium_break2.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_mp5"
|
||||
SWEP.ShellModel = "models/shells/shell_9mm.mdl"
|
||||
SWEP.ShellPitch = 100
|
||||
SWEP.ShellScale = 1.25
|
||||
SWEP.ShellRotateAngle = Angle(0, 180, 0)
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.SpeedMult = 0.98
|
||||
SWEP.SightedSpeedMult = 0.75
|
||||
SWEP.SightTime = 0.3
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-3.6425, 3, 1.32),
|
||||
Ang = Angle(0.75, 0.05, 0),
|
||||
Magnification = 1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
CrosshairInSights = false
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
SWEP.ActivePos = Vector(0, 3, 0.6)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.CrouchPos = Vector(0, 3, 0.6)
|
||||
SWEP.CrouchAng = Angle(0, 0, 5)
|
||||
|
||||
SWEP.HolsterPos = Vector(3, 3, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.CustomizePos = Vector(0, 3, 0)
|
||||
SWEP.CustomizeAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.BarrelLength = 30
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["magazine"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 1}},
|
||||
WMBodygroups = {{ind = 1, bg = 1}},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.ExtraSightDist = 10
|
||||
SWEP.GuaranteeLaser = true
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-14, 6, -4),
|
||||
ang = Angle(-10, 0, 180)
|
||||
}
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-6, 4, -7),
|
||||
ang = Angle(0, 0, 180),
|
||||
bone = "ValveBiped.Bip01_R_Hand",
|
||||
scale = 1
|
||||
}
|
||||
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Magazine",
|
||||
Slot = "eft_ppsh_magazine",
|
||||
DefaultAttName = "41-round PPSH magazine",
|
||||
Bone = "mod_magazine",
|
||||
Offset = {
|
||||
vpos = Vector(-0.0, -0, 0),
|
||||
vang = Angle(90, 0, -90),
|
||||
wpos = Vector(0, 0, 0),
|
||||
wang = Angle(-0, 0, 0),
|
||||
}
|
||||
},
|
||||
{
|
||||
PrintName = "Caliber",
|
||||
DefaultAttName = "7.62x25 - FMJ",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/9x19_Icon.png"),
|
||||
Slot = "ammo_eft_762x25"
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle"
|
||||
},
|
||||
["idle_empty"] = {
|
||||
Source = "idle_empty"
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
["holster"] = {
|
||||
Source = "Holster",
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "ready",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "fire",
|
||||
Time = 0.05,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "fire",
|
||||
Time = 0.05,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Checkpoints = {16, 30},
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/ppsh/kedr_magrelease_button.wav",
|
||||
t = 0.8
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/ppsh/kedr_magout.wav",
|
||||
t = 0.9
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/ppsh/kedr_magin.wav",
|
||||
t = 2.6
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload_empty",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Checkpoints = {16, 30, 55},
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/ppsh/kedr_magrelease_button.wav",
|
||||
t = 0.8
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/ppsh/kedr_magout.wav",
|
||||
t = 0.9
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/ppsh/kedr_magin.wav",
|
||||
t = 2.6
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/ppsh/kedr_slider_jam.wav",
|
||||
t = 4.3
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_extended"] = {
|
||||
Source = "reload_extended",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Checkpoints = {16, 30},
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/ppsh/kedr_magrelease_button.wav",
|
||||
t = 0.8
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/ppsh/kedr_magout.wav",
|
||||
t = 0.9
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/ppsh/kedr_magin.wav",
|
||||
t = 2.6
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_extended_empty"] = {
|
||||
Source = "reload_extended_empty",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Checkpoints = {16, 30, 55},
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/ppsh/kedr_magrelease_button.wav",
|
||||
t = 0.8
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/ppsh/kedr_magout.wav",
|
||||
t = 0.9
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/ppsh/kedr_magin.wav",
|
||||
t = 2.6
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/ppsh/kedr_slider_jam.wav",
|
||||
t = 4.3
|
||||
}
|
||||
},
|
||||
},
|
||||
["1_to_2"] = {
|
||||
Source = "firemode",
|
||||
LHIK = false,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.2,
|
||||
},
|
||||
["2_to_1"] = {
|
||||
Source = "firemode_alt",
|
||||
LHIK = false,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.2,
|
||||
},
|
||||
["enter_inspect"] = {
|
||||
Source = "inspect_begin",
|
||||
LHIK = true,
|
||||
LHIKIn = 1,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["idle_inspect"] = {
|
||||
Source = "inspect_idle",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["exit_inspect"] = {
|
||||
Source = "inspect_end",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.3,
|
||||
},
|
||||
}
|
||||
|
||||
sound.Add({
|
||||
name = "ARCCW_GO_MP5.Draw",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "arccw_go/mp5/mp5_draw.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "ARCCW_GO_MP5.Slideback",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "arccw_go/mp5/mp5_Slideback.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "ARCCW_GO_MP5.Slideforward",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "arccw_go/mp5/mp5_Slideforward.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "ARCCW_GO_MP5.Clipout",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "arccw_go/mp5/mp5_clipout.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "ARCCW_GO_MP5.Clipin",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "arccw_go/mp5/mp5_clipin.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "ARCCW_GO_MP5.Cliphit",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "arccw_go/mp5/mp5_cliphit.wav"
|
||||
})
|
||||
@@ -0,0 +1,396 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Modern Weaponry" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "T-5000"
|
||||
SWEP.Trivia_Class = "Bolt-Action Sniper"
|
||||
SWEP.Trivia_Desc = "High-accuracy ORSIS T-5000 rifle is an outstanding result of our company designers' efforts. This model was created in cooperation with professional shooters and has the properties required for a customer in the Russian market. T-5000 model is a hand-reloaded repeater with sliding breech bolt and two front locking lugs. It is a multi-purpose weapon. Its specifications provide high-accuracy long-range shots (up to 1500m), high level of shooter's convenience while preparatory, firing and recoil phases, swift sighting line recovery, excellent reliability and ergonomics."
|
||||
SWEP.Trivia_Manufacturer = "ORSIS"
|
||||
SWEP.Trivia_Calibre = "7.62x51mm NATO"
|
||||
SWEP.Trivia_Mechanism = "bolt-Action"
|
||||
SWEP.Trivia_Country = "Russia"
|
||||
SWEP.Trivia_Year = 2011
|
||||
|
||||
SWEP.Slot = 3
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arc_eft_t5000/eft_t5000/models/c_eft_t5000.mdl"
|
||||
SWEP.WorldModel = "models/weapons/w_snip_scout.mdl"
|
||||
SWEP.MirrorVMWM = true
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-9, 5.5, -8.5),
|
||||
ang = Angle(0, 0, 180),
|
||||
bone = "ValveBiped.Bip01_R_Hand",
|
||||
scale = 1
|
||||
}
|
||||
SWEP.ViewModelFOV = 70
|
||||
|
||||
SWEP.DefaultBodygroups = "0000000000"
|
||||
|
||||
SWEP.Damage = 75
|
||||
SWEP.DamageMin = 75 -- damage done at maximum range
|
||||
SWEP.Range = 150 -- in METRES
|
||||
SWEP.Penetration = 5
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 826 -- projectile or phys bullet muzzle velocity
|
||||
|
||||
SWEP.ChamberSize = 1 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 5 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 10
|
||||
|
||||
SWEP.Recoil = 6
|
||||
SWEP.RecoilSide = 1.5
|
||||
SWEP.RecoilRise = 4
|
||||
SWEP.VisualRecoilMult = 1
|
||||
|
||||
SWEP.Delay = 60 / 45-- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = {
|
||||
"weapon_ar2",
|
||||
"weapon_crossbow",
|
||||
}
|
||||
SWEP.NPCWeight = 100
|
||||
|
||||
SWEP.AccuracyMOA = 1 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 650 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 200
|
||||
|
||||
SWEP.Primary.Ammo = "ar2" -- what ammo type the gun uses
|
||||
SWEP.MagID = "T5000" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 115 -- volume of shoot sound
|
||||
|
||||
SWEP.ShootSound = "weapons/arccw_eft_t5000/sv98_fire_close.wav"
|
||||
SWEP.ShootSoundSilenced = "weapons/arccw_eft_t5000/rsass_indoor_close_silenced1.wav"
|
||||
SWEP.DistantShootSound = "weapons/arccw_eft_t5000/sv98_fire_far.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_4"
|
||||
SWEP.ShellModel = "models/shells/shell_556.mdl"
|
||||
SWEP.ShellPitch = 90
|
||||
SWEP.ShellScale = 1.5
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
SWEP.ProceduralViewBobAttachment = 1
|
||||
SWEP.CamAttachment = 3
|
||||
|
||||
SWEP.SpeedMult = 0.9
|
||||
SWEP.SightedSpeedMult = 0.6
|
||||
SWEP.SightTime = 0.24
|
||||
|
||||
SWEP.BulletBones = { -- the bone that represents bullets in gun/mag
|
||||
[0] = "patron_in_weapon",
|
||||
[1] = "patron_001",
|
||||
[2] = "patron_002",
|
||||
[3] = "patron_003"
|
||||
}
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
SWEP.ShotgunReload = false
|
||||
|
||||
SWEP.ManualAction = true -- pump/bolt action
|
||||
SWEP.NoLastCycle = true -- do not cycle on last shot
|
||||
|
||||
SWEP.CaseBones = {
|
||||
}
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-3.6, -3, 2.75),
|
||||
Ang = Angle(0.1, -0.05, 0),
|
||||
Magnification = 1.25,
|
||||
CrosshairInSights = false,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
SWEP.ActivePos = Vector(-0, 0, 1)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.SprintPos = Vector(5, -2, -2)
|
||||
SWEP.SprintAng = Angle(0, 30, 0)
|
||||
|
||||
SWEP.CustomizePos = Vector(0, 0, 0)
|
||||
SWEP.CustomizeAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.HolsterPos = Vector(3, 0, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, 0)
|
||||
SWEP.BarrelOffsetHip = Vector(0, 0, 0)
|
||||
|
||||
SWEP.BarrelLength = 30
|
||||
|
||||
SWEP.ExtraSightDist = 5
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["Muzzle"] = {
|
||||
VMBodygroups = {{ind = 3, bg = 1}},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic", -- print name
|
||||
DefaultAttName = "Iron Sights",
|
||||
Slot = {"eft_optic_large", "eft_optic_medium", "eft_optic_small"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "weapon", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vang = Angle(90, -90, -90),
|
||||
},
|
||||
CorrectivePos = Vector(0, 0, 0),
|
||||
CorrectiveAng = Angle(0, 180, 180),
|
||||
SlideAmount = { -- how far this attachment can slide in both directions.
|
||||
-- overrides Offset
|
||||
vmin = Vector(0, 18.5, 0.75),
|
||||
vmax = Vector(0, 20, 0.75),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Muzzle Device", -- print name
|
||||
DefaultAttName = "Standard Muzzle Device",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_t5000/muzzle_t5000_icon.png"),
|
||||
Slot = "eft_muzzle_762x51", -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "weapon", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(0, 47.5, -0.25),
|
||||
vang = Angle(0, -90, 0),
|
||||
},
|
||||
InstalledEles = {"Muzzle"},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical - Right",
|
||||
Slot = "eft_tactical",
|
||||
Bone = "weapon",
|
||||
Offset = {
|
||||
vpos = Vector(-1.45, 33, -0.45), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, -90, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical - Left",
|
||||
Slot = "eft_tactical",
|
||||
Bone = "weapon",
|
||||
Offset = {
|
||||
vpos = Vector(1.45, 33, -0.45), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, -90, 90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical - Top",
|
||||
Slot = "eft_tactical_big",
|
||||
Bone = "weapon",
|
||||
Offset = {
|
||||
vpos = Vector(0, 33, 1), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, -90, 180),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical - Bottom",
|
||||
Slot = "eft_tactical",
|
||||
Bone = "weapon",
|
||||
Offset = {
|
||||
vpos = Vector(0, 31.8, -1.85), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, -90, 0),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Caliber",
|
||||
DefaultAttName = "7.62x51mm M80",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/762x51_icon.png"),
|
||||
Slot = "ammo_eft_762x51"
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle",
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
LHIK = true,
|
||||
LHIKIn = 0.25,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
["holster"] = {
|
||||
Source = "holster",
|
||||
LHIK = true,
|
||||
LHIKIn = 0.25,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
["ready"] = {
|
||||
Source = {"ready_1", "ready_2", "ready_3"},
|
||||
LHIK = false,
|
||||
LHIKIn = 0.25,
|
||||
LHIKOut = 0.25,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft_t5000/t5000_bolt_1.wav",
|
||||
t = 0.9
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_t5000/t5000_bolt_2.wav",
|
||||
t = 1
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_t5000/t5000_bolt_3.wav",
|
||||
t = 1.1
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_t5000/t5000_bolt_4.wav",
|
||||
t = 1.2
|
||||
}
|
||||
}
|
||||
},
|
||||
["fire"] = {
|
||||
Source = {"fire"},
|
||||
},
|
||||
["cycle"] = {
|
||||
Source = {"chamber_1", "chamber_2", "chamber_3"},
|
||||
ShellEjectAt = 20 / 30,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft_t5000/t5000_bolt_1.wav",
|
||||
t = 0.4
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_t5000/t5000_bolt_2.wav",
|
||||
t = 0.5
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_t5000/t5000_bolt_3.wav",
|
||||
t = 0.6
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_t5000/t5000_bolt_4.wav",
|
||||
t = 0.7
|
||||
}
|
||||
}
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = {"fire"},
|
||||
},
|
||||
["cycle_ads"] = {
|
||||
Source = {"chamber_1", "chamber_2", "chamber_3"},
|
||||
ShellEjectAt = 20 / 30,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft_t5000/t5000_bolt_1.wav",
|
||||
t = 0.4
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_t5000/t5000_bolt_2.wav",
|
||||
t = 0.5
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_t5000/t5000_bolt_3.wav",
|
||||
t = 0.6
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_t5000/t5000_bolt_4.wav",
|
||||
t = 0.7
|
||||
}
|
||||
}
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Framerate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.2,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft_t5000/t5000_magbutton.wav",
|
||||
t = 0.6
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_t5000/t5000_mag_out.wav",
|
||||
t = 0.75
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_t5000/t5000_mag_in.wav",
|
||||
t = 2.8
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload_empty",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Framerate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.2,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft_t5000/t5000_mag_out.wav",
|
||||
t = 0.7
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_t5000/t5000_mag_in.wav",
|
||||
t = 2.3
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_t5000/t5000_bolt_1.wav",
|
||||
t = 3.5
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_t5000/t5000_bolt_2.wav",
|
||||
t = 3.6
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_t5000/t5000_bolt_3.wav",
|
||||
t = 3.7
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft_t5000/t5000_bolt_4.wav",
|
||||
t = 3.8
|
||||
}
|
||||
},
|
||||
},
|
||||
["enter_inspect"] = {
|
||||
Source = "inventory_begin",
|
||||
LHIK = true,
|
||||
LHIKIn = 1,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["idle_inspect"] = {
|
||||
Source = "inventory_idle",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["exit_inspect"] = {
|
||||
Source = "inventory_end",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.3,
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,383 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Modern Weaponry" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "UMP-45"
|
||||
SWEP.Trivia_Class = "Submachine Gun"
|
||||
SWEP.Trivia_Desc = "Heckler & Koch UMP - submachine gun, designed by German company Heckler & Koch in the 1990s as a lighter and cheaper analog of the MP5. This version is designed to fire a .45 ACP cartridge and has a reduced to 600 rpm rate of fire."
|
||||
SWEP.Trivia_Manufacturer = "Heckler & Koch"
|
||||
SWEP.Trivia_Calibre = ".45 ACP"
|
||||
SWEP.Trivia_Mechanism = "blowback-operated"
|
||||
SWEP.Trivia_Country = "Germany"
|
||||
SWEP.Trivia_Year = 2000
|
||||
|
||||
SWEP.Slot = 2
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arc_eft_ump/eft_ump/models/c_eft_ump.mdl"
|
||||
SWEP.WorldModel = "models/weapons/w_smg_ump45.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
|
||||
SWEP.DefaultBodygroups = "000000000000"
|
||||
|
||||
SWEP.Damage = 12
|
||||
SWEP.DamageMin = 12 -- damage done at maximum range
|
||||
SWEP.Range = 90 -- in METRES
|
||||
SWEP.Penetration = 5
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 700 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
SWEP.ChamberSize = 1 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 30 -- DefaultClip is automatically set.
|
||||
|
||||
SWEP.PhysBulletMuzzleVelocity = 400
|
||||
|
||||
SWEP.Recoil = 0.275
|
||||
SWEP.RecoilSide = 0.125
|
||||
SWEP.RecoilRise = 0.1
|
||||
SWEP.RecoilPunch = 2.5
|
||||
|
||||
SWEP.Delay = 60 / 550 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 2,
|
||||
},
|
||||
{
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0,
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_smg1"
|
||||
SWEP.NPCWeight = 100
|
||||
|
||||
SWEP.AccuracyMOA = 14 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 300 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 250
|
||||
|
||||
SWEP.Primary.Ammo = "pistol" -- what ammo type the gun uses
|
||||
SWEP.MagID = "ppsh" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 100 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 100 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "weapons/arccw_eft/ump/gyrza_close1.wav"
|
||||
SWEP.ShootSoundSilenced = "arccw_go/mp5/mp5_01.wav"
|
||||
SWEP.DistantShootSound = "weapons/arccw_eft/ump/gyrza_distant1.wav"
|
||||
|
||||
SWEP.MeleeSwingSound = "arccw_go/m249/m249_draw.wav"
|
||||
SWEP.MeleeMissSound = "weapons/iceaxe/iceaxe_swing1.wav"
|
||||
SWEP.MeleeHitSound = "arccw_go/knife/knife_hitwall1.wav"
|
||||
SWEP.MeleeHitNPCSound = "physics/body/body_medium_break2.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_mp5"
|
||||
SWEP.ShellModel = "models/shells/shell_9mm.mdl"
|
||||
SWEP.ShellPitch = 100
|
||||
SWEP.ShellScale = 1.25
|
||||
SWEP.ShellRotateAngle = Angle(0, 180, 0)
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
SWEP.CamAttachment = 3 -- if set, this attachment will control camera movement
|
||||
|
||||
SWEP.BulletBones = { -- the bone that represents bullets in gun/mag
|
||||
[0] = "patron_in_weapon",
|
||||
[1] = "patron_001",
|
||||
[2] = "patron_002",
|
||||
[3] = "patron_003",
|
||||
[4] = "patron_004",
|
||||
[5] = "patron_005",
|
||||
[6] = "patron_006",
|
||||
[7] = "patron_007",
|
||||
[8] = "patron_008",
|
||||
[9] = "patron_009",
|
||||
[10] = "patron_010",
|
||||
[11] = "patron_011",
|
||||
[12] = "patron_012",
|
||||
[13] = "patron_013",
|
||||
[14] = "patron_014",
|
||||
[15] = "patron_015",
|
||||
[16] = "patron_016",
|
||||
[17] = "patron_017",
|
||||
[18] = "patron_018",
|
||||
[19] = "patron_019",
|
||||
[20] = "patron_020",
|
||||
[21] = "patron_021",
|
||||
[22] = "patron_022",
|
||||
[23] = "patron_023",
|
||||
[24] = "patron_024",
|
||||
[25] = "patron_025"
|
||||
}
|
||||
|
||||
SWEP.SpeedMult = 0.96
|
||||
SWEP.SightedSpeedMult = 0.75
|
||||
SWEP.SightTime = 0.3
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-3.6425, 3, 1.7),
|
||||
Ang = Angle(0, 0.0, 0),
|
||||
Magnification = 1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
CrosshairInSights = false
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
SWEP.ActivePos = Vector(0, 4, 1)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.CrouchPos = Vector(0, 3, 0.6)
|
||||
SWEP.CrouchAng = Angle(0, 0, 5)
|
||||
|
||||
SWEP.HolsterPos = Vector(3, 3, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.CustomizePos = Vector(0, 3, 0)
|
||||
SWEP.CustomizeAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.BarrelLength = 30
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
|
||||
}
|
||||
|
||||
SWEP.ExtraSightDist = 10
|
||||
SWEP.GuaranteeLaser = true
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-14, 6, -4),
|
||||
ang = Angle(-10, 0, 180)
|
||||
}
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-6, 4, -8.5),
|
||||
ang = Angle(0, 0, 180),
|
||||
bone = "ValveBiped.Bip01_R_Hand",
|
||||
scale = 1
|
||||
}
|
||||
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic", -- print name
|
||||
DefaultAttName = "Iron Sights",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_ump/eft_ump_iron.png"),
|
||||
Slot = {"eft_optic_large", "eft_optic_medium", "eft_optic_small"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "mod_reciever", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vang = Angle(90, -90, -90),
|
||||
wang = Angle(-5, 0, 180)
|
||||
},
|
||||
CorrectivePos = Vector(0, 0, 0),
|
||||
CorrectiveAng = Angle(0, 180, 180),
|
||||
SlideAmount = { -- how far this attachment can slide in both directions.
|
||||
-- overrides Offset
|
||||
vmin = Vector(0, -4.5, 3),
|
||||
vmax = Vector(0, -1, 3),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical - Left",
|
||||
Slot = "eft_tactical",
|
||||
Bone = "mod_reciever",
|
||||
Offset = {
|
||||
vpos = Vector(1, 4, 1), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, -90, 90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical - Right",
|
||||
Slot = "eft_tactical",
|
||||
Bone = "mod_reciever",
|
||||
Offset = {
|
||||
vpos = Vector(-1.1, 4, 1), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, -90, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = "eft_foregrip",
|
||||
Bone = "mod_reciever",
|
||||
DefaultAttName = "No Underbarrel",
|
||||
Offset = {
|
||||
vpos = Vector(0, 5, 0.1),
|
||||
vang = Angle(90, -90, -90),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle"
|
||||
},
|
||||
["idle_empty"] = {
|
||||
Source = "idle_empty"
|
||||
},
|
||||
["idle_inspect"] = {
|
||||
Source = "inventory_idle"
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
LHIK = false,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.9,
|
||||
},
|
||||
["holster"] = {
|
||||
Source = "holster",
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "draw_first", "draw_first2",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.8,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/ump/mp5_weap_bolt_in_slap.wav",
|
||||
t = 0.8
|
||||
}
|
||||
},
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "fire",
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "fire",
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4, -- In/Out controls how long it takes to switch to regular animation.
|
||||
LHIKOut = 0.4, -- (not actually inverse kinematics)
|
||||
LHIKEaseIn = 0.4, -- how long LHIK eases in.
|
||||
LHIKEaseOut = 0.4, -- if no value is specified then ease = lhikin
|
||||
Checkpoints = { 0.8, 1.9 },
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/ump/mp5_weap_mag_release_button.wav",
|
||||
t = 0.35
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/ump/mp5_weap_mag_out.wav",
|
||||
t = 0.4
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/ump/mp5_weap_mag_in.wav",
|
||||
t = 2
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload_empty",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4, -- In/Out controls how long it takes to switch to regular animation.
|
||||
LHIKOut = 0.8, -- (not actually inverse kinematics)
|
||||
LHIKEaseIn = 0.4, -- how long LHIK eases in.
|
||||
LHIKEaseOut = 0.4, -- if no value is specified then ease = lhikin
|
||||
Checkpoints = { 0.8, 1.9 },
|
||||
SoundTable = {
|
||||
{
|
||||
s = "weapons/arccw_eft/ump/mp5_weap_mag_release_button.wav",
|
||||
t = 0.35
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/ump/mp5_weap_mag_out.wav",
|
||||
t = 0.4
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/ump/mp5_weap_mag_in.wav",
|
||||
t = 2
|
||||
},
|
||||
{
|
||||
s = "weapons/arccw_eft/ump/mp5_weap_bolt_in_slap.wav",
|
||||
t = 3.1
|
||||
}
|
||||
},
|
||||
},
|
||||
["0_to_1"] = {
|
||||
Source = "firemode_1",
|
||||
LHIK = false,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.2,
|
||||
},
|
||||
["0_to_2"] = {
|
||||
Source = "firemode_1",
|
||||
LHIK = false,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.2,
|
||||
},
|
||||
["1_to_2"] = {
|
||||
Source = "firemode_0",
|
||||
LHIK = false,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.2,
|
||||
},
|
||||
["1_to_0"] = {
|
||||
Source = "firemode_0",
|
||||
LHIK = false,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.2,
|
||||
},
|
||||
["2_to_1"] = {
|
||||
Source = "firemode_1",
|
||||
LHIK = false,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.2,
|
||||
},
|
||||
["2_to_0"] = {
|
||||
Source = "firemode_1",
|
||||
LHIK = false,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.2,
|
||||
},
|
||||
["enter_inspect"] = {
|
||||
Source = "inventory_begin",
|
||||
LHIK = true,
|
||||
LHIKIn = 1,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["idle_inspect"] = {
|
||||
Source = "inventory_idle",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["exit_inspect"] = {
|
||||
Source = "inventory_end",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.3,
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,735 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Modern Weaponry" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "HK USP .45"
|
||||
SWEP.TrueName = "HK USP .45"
|
||||
SWEP.Trivia_Class = "Pistol"
|
||||
SWEP.Trivia_Desc = "The HK USP (Universelle Selbstladepistole - Universal Self-loading Pistol) pistol is a further replacement of the HK P7 series pistols. Internationally accepted as an accurate and ultra-reliable handgun. Using a modified Browning-type action with a special patented recoil reduction system, the USP recoil reduction system reduces recoil effects on pistol components and also lowers the recoil forces felt by the shooter. This particular variant is chambered in .45 ACP. Manufactured by Heckler & Koch."
|
||||
SWEP.Trivia_Manufacturer = "Heckler & Koch"
|
||||
SWEP.Trivia_Calibre = ".45 ACP"
|
||||
SWEP.Trivia_Mechanism = "Short Recoil"
|
||||
SWEP.Trivia_Country = "Germany"
|
||||
SWEP.Trivia_Year = 1989
|
||||
|
||||
SWEP.Slot = 1
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arc_eft_usp/c_eft_usp.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arccw_go/v_pist_m9.mdl"
|
||||
SWEP.ViewModelFOV = 70
|
||||
|
||||
SWEP.DefaultBodygroups = "000000000000"
|
||||
|
||||
SWEP.Damage = 15
|
||||
SWEP.DamageMin = 15 -- damage done at maximum range
|
||||
SWEP.Range = 90 -- in METRES
|
||||
SWEP.Penetration = 12
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
-- IN M/S
|
||||
SWEP.ChamberSize = 1 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 17 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 24
|
||||
|
||||
SWEP.PhysBulletMuzzleVelocity = 200
|
||||
|
||||
SWEP.TriggerDelay = false
|
||||
|
||||
SWEP.ReloadInSights = true
|
||||
SWEP.ReloadInSights_FOVMult = 1
|
||||
|
||||
SWEP.Recoil = 1.0
|
||||
SWEP.RecoilSide = 0.5
|
||||
SWEP.RecoilRise = 0.24
|
||||
SWEP.RecoilPunch = 2.5
|
||||
SWEP.VisualRecoilMult = 12
|
||||
SWEP.RecoilPunchBackMax = 15
|
||||
SWEP.RecoilPunchBackMaxSights = 15 -- may clip with scopes
|
||||
|
||||
SWEP.Delay = 60 / 450 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_pistol"
|
||||
SWEP.NPCWeight = 100
|
||||
|
||||
SWEP.AccuracyMOA = 12 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 350 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 250
|
||||
SWEP.JumpDispersion = 1000
|
||||
|
||||
SWEP.Primary.Ammo = "pistol" -- what ammo type the gun uses
|
||||
SWEP.MagID = "USP" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 100 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 110 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "arc_eft_usp/usp_fire_close_alt.wav"
|
||||
SWEP.ShootSoundSilenced = "arc_eft_usp/usp_fire_surpressed_alt.wav"
|
||||
SWEP.DistantShootSound = "arc_eft_usp/usp_fire_distant_alt.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_pistol"
|
||||
SWEP.ShellModel = "models/shells/shell_9mm.mdl"
|
||||
SWEP.ShellPitch = 100
|
||||
SWEP.ShellScale = 1.75
|
||||
SWEP.ShellRotateAngle = Angle(0, 180, 0)
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
SWEP.CamAttachment = 3 -- if set, this attachment will control camera movement
|
||||
|
||||
SWEP.SpeedMult = 0.98
|
||||
SWEP.SightedSpeedMult = 0.75
|
||||
SWEP.SightTime = 0.2
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-3.65, 5, 2.17),
|
||||
Ang = Angle(0, 0, 0),
|
||||
Magnification = 1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
CrosshairInSights = false
|
||||
}
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.Jamming = false
|
||||
SWEP.HeatCapacity = 32
|
||||
SWEP.HeatDissipation = 1
|
||||
SWEP.HeatLockout = true -- overheating means you cannot fire until heat has been fully depleted
|
||||
SWEP.HeatFix = true -- when the "fix" animation is played, all heat is restored.
|
||||
|
||||
SWEP.Malfunction = false
|
||||
SWEP.MalfunctionJam = false -- After a malfunction happens, the gun will dryfire until reload is pressed. If unset, instead plays animation right after.
|
||||
SWEP.MalfunctionTakeRound = false -- When malfunctioning, a bullet is consumed.
|
||||
SWEP.MalfunctionWait = 0 -- The amount of time to wait before playing malfunction animation (or can reload)
|
||||
SWEP.MalfunctionMean = 64 -- The mean number of shots between malfunctions, will be autocalculated if nil
|
||||
SWEP.MalfunctionVariance = 0.2 -- The fraction of mean for variance. e.g. 0.2 means 20% variance
|
||||
SWEP.MalfunctionSound = "weapons/arccw/malfunction.wav"
|
||||
|
||||
SWEP.HoldtypeHolstered = "normal"
|
||||
SWEP.HoldtypeActive = "pistol"
|
||||
SWEP.HoldtypeSights = "revolver"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_PISTOL
|
||||
|
||||
SWEP.ActivePos = Vector(0, 2, 1.5)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.CrouchPos = Vector(-1, -1, 1.4)
|
||||
SWEP.CrouchAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.HolsterPos = Vector(3, 3, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
SWEP.BarrelOffsetCrouch = Vector(0, 0, -2)
|
||||
|
||||
SWEP.CustomizePos = Vector(0, 2, 0.5)
|
||||
SWEP.CustomizeAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.BarrelLength = 18
|
||||
|
||||
SWEP.BulletBones = { -- the bone that represents bullets in gun/mag
|
||||
[1] = {"shellport", "patron_in_weapon"},
|
||||
[2] = "patron_001",
|
||||
[3] = "patron_002",
|
||||
[4] = "patron_003",
|
||||
[5] = "patron_004",
|
||||
[6] = "patron_005",
|
||||
[7] = "patron_006",
|
||||
[8] = "patron_007",
|
||||
[9] = "patron_008",
|
||||
[10] = "patron_009",
|
||||
[11] = "patron_010",
|
||||
[12] = "patron_011",
|
||||
[13] = "patron_012",
|
||||
}
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["hidereceiver"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 1}},
|
||||
},
|
||||
["showmount"] = {
|
||||
VMBodygroups = {{ind = 9, bg = 1}},
|
||||
},
|
||||
["hidemount"] = {
|
||||
VMBodygroups = {{ind = 9, bg = 0}},
|
||||
},
|
||||
["hidesights"] = {
|
||||
VMBodygroups = {{ind = 6, bg = 1}},
|
||||
},
|
||||
["sightmount"] = {
|
||||
VMBodygroups = {{ind = 6, bg = 2}},
|
||||
},
|
||||
["hidebarrel"] = {
|
||||
VMBodygroups = {{ind = 2, bg = 1}},
|
||||
},
|
||||
["45_AP"] = {
|
||||
VMBodygroups = {{ind = 8, bg = 1}},
|
||||
},
|
||||
["45_RIP"] = {
|
||||
VMBodygroups = {{ind = 8, bg = 2}},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.ExtraSightDist = 10
|
||||
SWEP.GuaranteeLaser = true
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-12.6, 5.5, -7),
|
||||
ang = Angle(-0, 0, 180)
|
||||
}
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic", -- print name
|
||||
DefaultAttName = "None",
|
||||
//DefaultAttIcon = Material("vgui/entities/eft_attachments/usp_sights_standard.png"),
|
||||
Slot = "eft_optic_small", -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "mod_reciever", -- relevant bone any attachments will be mostly referring to
|
||||
CorrectiveAng = Angle(0, 180, 0),
|
||||
InstalledEles = {"sightmount"},
|
||||
GivesFlags = {"opticattached"},
|
||||
Offset = {
|
||||
vpos = Vector(0, -2, 0.9),
|
||||
vang = Angle(0, -90, 0),
|
||||
wpos = Vector(0, 0, 0),
|
||||
wang = Angle(0, 0, 0),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Iron Sights", -- print name
|
||||
DefaultAttName = "Iron Sights",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/usp_sights_standard.png"),
|
||||
Slot = "eft_usp_sights", -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "mod_reciever", -- relevant bone any attachments will be mostly referring to
|
||||
CorrectiveAng = Angle(0, 180, 0),
|
||||
InstalledEles = {"hidesights"},
|
||||
ExcludeFlags = {"opticattached"},
|
||||
Offset = {
|
||||
vpos = Vector(0, -2.4, 0.75),
|
||||
vang = Angle(0, -90, 0),
|
||||
wpos = Vector(0, 0, 0),
|
||||
wang = Angle(0, 0, 0),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Slide", -- print name
|
||||
DefaultAttName = "Standard Slide",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/usp_slide_default.png"),
|
||||
Slot = "eft_usp_slide", -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "mod_reciever", -- relevant bone any attachments will be mostly referring to
|
||||
InstalledEles = {"hidereceiver"},
|
||||
Offset = {
|
||||
vpos = Vector(0, 0, -0),
|
||||
vang = Angle(0, -90, 0),
|
||||
wpos = Vector(0, 0, 0),
|
||||
wang = Angle(0, 0, 0),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Compensator", -- print name
|
||||
DefaultAttName = "No Compensator",
|
||||
//DefaultAttIcon = Material("vgui/entities/eft_attachments/usp_barrel_match.png"),
|
||||
Slot = "eft_usp_compensator", -- what kind of attachments can fit here, can be string or table
|
||||
GivesFlags = {"Compensator"},
|
||||
Bone = "weapon", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(0, 23.7, -0.45),
|
||||
vang = Angle(0, -90, 0),
|
||||
wpos = Vector(0, 0, 0),
|
||||
wang = Angle(0, 0, 0),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Barrel", -- print name
|
||||
DefaultAttName = "Standard Barrel",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/usp_barrel_match.png"),
|
||||
Slot = "eft_usp_barrel", -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "mod_barrel", -- relevant bone any attachments will be mostly referring to
|
||||
InstalledEles = {"hidebarrel"},
|
||||
Offset = {
|
||||
vpos = Vector(0, 0, -0),
|
||||
vang = Angle(0, -90, 0),
|
||||
wpos = Vector(0, 0, 0),
|
||||
wang = Angle(0, 0, 0),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Muzzle", -- print name
|
||||
DefaultAttName = "No Muzzle Device",
|
||||
//DefaultAttIcon = Material("vgui/entities/eft_attachments/usp_barrel_match.png"),
|
||||
Slot = "eft_muzzle_1911", -- what kind of attachments can fit here, can be string or table
|
||||
ExcludeFlags = {"Compensator"},
|
||||
RequireFlags = {"threadedbarrel"},
|
||||
Bone = "mod_barrel", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(0, 3.7, 0.45),
|
||||
vang = Angle(0, -90, 0),
|
||||
wpos = Vector(0, 0, 0),
|
||||
wang = Angle(0, 0, 0),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical", -- print name
|
||||
DefaultAttName = "No Tactical",
|
||||
//ExcludeFlags = {"Compensator"},
|
||||
Slot = {"eft_tactical", "eft_usp_mount"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "weapon", -- relevant bone any attachments will be mostly referring to
|
||||
InstalledEles = {"showmount"},
|
||||
Offset = {
|
||||
vpos = Vector(0, 23.7, -0.45),
|
||||
vang = Angle(0, -90, 0),
|
||||
wpos = Vector(0, 0, 0),
|
||||
wang = Angle(0, 0, 0),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Caliber",
|
||||
DefaultAttName = ".45 ACP FMJ",
|
||||
DefaultAttIcon = Material("vgui/entities/eft_attachments/9x19_Icon.png"),
|
||||
Slot = "ammo_eft_45"
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle"
|
||||
},
|
||||
["idle_empty"] = {
|
||||
Source = "idle_empty"
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
Time = 1.2,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "eft_shared/weap_in.wav",
|
||||
t = 0
|
||||
}
|
||||
},
|
||||
},
|
||||
["draw_empty"] = {
|
||||
Source = "draw_empty",
|
||||
Time = 1.2,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "eft_shared/weap_in.wav",
|
||||
t = 0
|
||||
}
|
||||
},
|
||||
},
|
||||
["holster"] = {
|
||||
Source = "holster",
|
||||
Time = 1.2,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "eft_shared/weap_out.wav",
|
||||
t = 0
|
||||
}
|
||||
},
|
||||
},
|
||||
["holster_empty"] = {
|
||||
Source = "holster_empty",
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "eft_shared/weap_out.wav",
|
||||
t = 0
|
||||
}
|
||||
},
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "ready",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "eft_shared/weap_pistol_use.wav",
|
||||
t = 0.45
|
||||
},
|
||||
{
|
||||
s = "arc_eft_usp/usp_slider_in.wav",
|
||||
t = 0.8
|
||||
}
|
||||
},
|
||||
},
|
||||
["trigger"] = {
|
||||
Source = "trigger",
|
||||
Time = 0.1,
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "fire_new",
|
||||
Time = 0.2,
|
||||
ShellEjectAt = 0,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "eft_shared/weap_trigger_hammer.wav",
|
||||
t = 0.05
|
||||
}
|
||||
},
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "fire_new",
|
||||
Time = 0.2,
|
||||
ShellEjectAt = 0.05,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "eft_shared/weap_trigger_hammer.wav",
|
||||
t = 0
|
||||
}
|
||||
},
|
||||
},
|
||||
["fire_iron_empty"] = {
|
||||
Source = "fire_dry",
|
||||
Time = 0.0,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["fire_empty"] = {
|
||||
Source = "fire_dry",
|
||||
Time = 0.0,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_PISTOL,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKOut = 0.4,
|
||||
LastClip1OutTime = 2, -- when should the belt visually replenish on a belt fed
|
||||
SoundTable = {
|
||||
{
|
||||
s = "eft_shared/weapon_generic_pistol_spin1.wav",
|
||||
t = 0.1
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weap_magrelease_button.wav",
|
||||
t = 0.6
|
||||
},
|
||||
{
|
||||
s = "arc_eft_usp/usp_mag_out.wav",
|
||||
t = 0.7
|
||||
},
|
||||
{
|
||||
s = "arc_eft_usp/usp_mag_pullout.wav",
|
||||
t = 0.75
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weap_magin_rig.wav",
|
||||
t = 1.3
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weap_mag_pullout.wav",
|
||||
t = 1.9
|
||||
},
|
||||
{
|
||||
s = "arc_eft_usp/usp_mag_pullin.wav",
|
||||
t = 3
|
||||
},
|
||||
{
|
||||
s = "arc_eft_usp/usp_mag_in.wav",
|
||||
t = 3.1
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload_empty",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_PISTOL,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKOut = 0.4,
|
||||
LastClip1OutTime = 2, -- when should the belt visually replenish on a belt fed
|
||||
SoundTable = {
|
||||
{
|
||||
s = "eft_shared/weapon_generic_pistol_spin1.wav",
|
||||
t = 0.1
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weap_magrelease_button.wav",
|
||||
t = 0.6
|
||||
},
|
||||
{
|
||||
s = "arc_eft_usp/usp_mag_out.wav",
|
||||
t = 0.7
|
||||
},
|
||||
{
|
||||
s = "arc_eft_usp/usp_mag_pullout.wav",
|
||||
t = 0.75
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weap_magin_rig.wav",
|
||||
t = 1.3
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weap_mag_pullout.wav",
|
||||
t = 1.9
|
||||
},
|
||||
{
|
||||
s = "arc_eft_usp/usp_mag_pullin.wav",
|
||||
t = 3
|
||||
},
|
||||
{
|
||||
s = "arc_eft_usp/usp_mag_in.wav",
|
||||
t = 3.1
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weap_bolt_catch_button.wav",
|
||||
t = 4.1
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weap_pistol_use.wav",
|
||||
t = 4.125
|
||||
},
|
||||
{
|
||||
s = "arc_eft_usp/usp_slider_in.wav",
|
||||
t = 4.3
|
||||
}
|
||||
},
|
||||
},
|
||||
["enter_inspect"] = {
|
||||
Source = "inventory_start",
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "eft_shared/weap_handoff.wav",
|
||||
t = 0
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weapon_generic_pistol_spin1.wav",
|
||||
t = 0.1
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weapon_generic_pistol_spin3.wav",
|
||||
t = 0.5
|
||||
}
|
||||
},
|
||||
},
|
||||
["enter_inspect_empty"] = {
|
||||
Source = "inventory_start_empty",
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "eft_shared/weap_handoff.wav",
|
||||
t = 0
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weapon_generic_pistol_spin1.wav",
|
||||
t = 0.1
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weapon_generic_pistol_spin3.wav",
|
||||
t = 0.5
|
||||
}
|
||||
},
|
||||
},
|
||||
["idle_inspect"] = {
|
||||
Source = "inventory",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["idle_inspect_empty"] = {
|
||||
Source = "inventory_empty",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["exit_inspect"] = {
|
||||
Source = "inventory_end_alt",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.3,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "eft_shared/weapon_generic_pistol_spin1.wav",
|
||||
t = 0.1
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weapon_generic_pistol_spin3.wav",
|
||||
t = 0.5
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weap_magrelease_button.wav",
|
||||
t = 1
|
||||
},
|
||||
{
|
||||
s = "arc_eft_usp/usp_mag_out.wav",
|
||||
t = 1.2
|
||||
},
|
||||
{
|
||||
s = "arc_eft_usp/usp_mag_pullout.wav",
|
||||
t = 1.1
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weapon_generic_pistol_spin2.wav",
|
||||
t = 2
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weapon_generic_pistol_spin4.wav",
|
||||
t = 2.4
|
||||
},
|
||||
{
|
||||
s = "arc_eft_usp/usp_mag_pullin.wav",
|
||||
t = 3.45
|
||||
},
|
||||
{
|
||||
s = "arc_eft_usp/usp_mag_in.wav",
|
||||
t = 3.55
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weapon_generic_pistol_spin4.wav",
|
||||
t = 3.9
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weapon_generic_pistol_spin4.wav",
|
||||
t = 4.2
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weap_pistol_use.wav",
|
||||
t = 5.1
|
||||
},
|
||||
{
|
||||
s = "arc_eft_usp/usp_slider_in.wav",
|
||||
t = 6
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weapon_generic_pistol_spin2.wav",
|
||||
t = 6.2
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weapon_generic_pistol_spin4.wav",
|
||||
t = 6.3
|
||||
}
|
||||
},
|
||||
},
|
||||
["exit_inspect_empty"] = {
|
||||
Source = "inventory_end_new_empty",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.3,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "eft_shared/weapon_generic_pistol_spin1.wav",
|
||||
t = 0.1
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weapon_generic_pistol_spin3.wav",
|
||||
t = 0.5
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weap_magrelease_button.wav",
|
||||
t = 1
|
||||
},
|
||||
{
|
||||
s = "arc_eft_usp/usp_mag_out.wav",
|
||||
t = 1.2
|
||||
},
|
||||
{
|
||||
s = "arc_eft_usp/usp_mag_pullout.wav",
|
||||
t = 1.1
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weapon_generic_pistol_spin2.wav",
|
||||
t = 2
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weapon_generic_pistol_spin4.wav",
|
||||
t = 2.4
|
||||
},
|
||||
{
|
||||
s = "arc_eft_usp/usp_mag_pullin.wav",
|
||||
t = 3.45
|
||||
},
|
||||
{
|
||||
s = "arc_eft_usp/usp_mag_in.wav",
|
||||
t = 3.55
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weapon_generic_pistol_spin4.wav",
|
||||
t = 3.9
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weapon_generic_pistol_spin4.wav",
|
||||
t = 4.2
|
||||
}
|
||||
},
|
||||
},
|
||||
["fix"] = {
|
||||
Source = {"jam_soft"},
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_PISTOL,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKOut = 0.3,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "eft_shared/weap_pistol_use.wav",
|
||||
t = 0.75
|
||||
},
|
||||
{
|
||||
s = "eft_shared/weap_round_out.wav",
|
||||
t = 0.9
|
||||
},
|
||||
{
|
||||
s = "arc_eft_usp/usp_slider_in.wav",
|
||||
t = 1.2
|
||||
}
|
||||
},
|
||||
},
|
||||
["unjam"] = {
|
||||
Source = {"jam_feed", "jam_shell"},
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_PISTOL,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKOut = 0.3,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "eft_shared/weap_round_out.wav",
|
||||
t = 2.3
|
||||
},
|
||||
{
|
||||
s = "arc_eft_usp/usp_slider_in.wav",
|
||||
t = 2.6
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,305 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Special Weaponry" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "Volk-ed PKP"
|
||||
SWEP.Trivia_Class = "Energy Machine Gun"
|
||||
SWEP.Trivia_Desc = "Belt-fed fully automatic energy weapon. Can not penetrate. Damage increase over long distance"
|
||||
SWEP.Trivia_Manufacturer = "Some guy with a volk and pkp"
|
||||
SWEP.Trivia_Calibre = "Energy Cells"
|
||||
SWEP.Trivia_Mechanism = "Magic"
|
||||
SWEP.Trivia_Country = "The Motherland"
|
||||
SWEP.Trivia_Year = 2077
|
||||
|
||||
SWEP.CrouchPos = Vector(-1, 3, -0.5)
|
||||
SWEP.CrouchAng = Angle(0, 0, -15)
|
||||
|
||||
SWEP.Slot = 2
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arccw/fml/c_volked_pkp.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arccw/fml/w_volked_pkp.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
|
||||
SWEP.DefaultBodygroups = "00000000"
|
||||
SWEP.DefaultWMBodygroups = "00000000"
|
||||
|
||||
SWEP.Damage = 15
|
||||
SWEP.DamageMin = 15
|
||||
SWEP.Range = 500 -- in METRES
|
||||
SWEP.Penetration = 1
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 900 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
|
||||
SWEP.TracerNum = 1 -- tracer every X
|
||||
SWEP.TracerCol = Color(255, 25, 25)
|
||||
SWEP.TracerWidth = 3
|
||||
|
||||
SWEP.ChamberSize = 0 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 100 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 120
|
||||
SWEP.ReducedClipSize = 60
|
||||
|
||||
SWEP.Recoil = 0.4
|
||||
SWEP.RecoilSide = 0.15
|
||||
SWEP.RecoilRise = 0.75
|
||||
|
||||
SWEP.Delay = 60 / 700 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 2,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.CustomizePos = Vector(10, 2, -3)
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_ar2"
|
||||
SWEP.NPCWeight = 80
|
||||
|
||||
SWEP.AccuracyMOA = 3.5 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 700 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 220
|
||||
|
||||
SWEP.Primary.Ammo = "ar2" -- what ammo type the gun uses
|
||||
SWEP.MagID = "m200b" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 70 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 120 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "weapons/fml_pkp_volk/fire.wav"
|
||||
SWEP.ShootSoundSilenced = "weapons/fml_pkp_volk/ak74_suppressed_fp.wav"
|
||||
SWEP.DistantShootSound = "weapons/arccw/negev/negev-1-distant.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_smg"
|
||||
SWEP.ShellModel = "models/weapons/arccw/fml/shell_volked_pkp.mdl"
|
||||
SWEP.ShellPitch = 95
|
||||
SWEP.ShellScale = 1.5
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.SpeedMult = 0.65
|
||||
SWEP.SightedSpeedMult = 0.5
|
||||
SWEP.SightTime = 0.475
|
||||
|
||||
SWEP.BulletBones = { -- the bone that represents bullets in gun/mag
|
||||
[6] = "Weapon_Bullet0",
|
||||
[5] = "Weapon_Bullet",
|
||||
[4] = "Weapon_Bullet2",
|
||||
[3] = "Weapon_Bullet3",
|
||||
[2] = "Weapon_Bullet4",
|
||||
[1] = "Weapon_Bullet5",
|
||||
}
|
||||
|
||||
SWEP.CaseBones = {}
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-2.523, -3, 0.469),
|
||||
Ang = Angle(0, 0, 0),
|
||||
Magnification = 1.1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.MeleeTime = 0.5
|
||||
SWEP.MeleeAttackTime = 0.1
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
SWEP.ActivePos = Vector(0, 5, 0)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.HolsterPos = Vector(8, -2, -4.011)
|
||||
SWEP.HolsterAng = Angle(1.898, 54.613, -10.113)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.BarrelLength = 32
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["bkrail"] = {
|
||||
VMElements = {
|
||||
{
|
||||
Model = "models/weapons/arccw/atts/backup_rail.mdl",
|
||||
Bone = "Weapon_Main",
|
||||
Offset = {
|
||||
pos = Vector(0, -3.8, 12),
|
||||
ang = Angle(180, 90, 180),
|
||||
},
|
||||
},
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic", -- print name
|
||||
DefaultAttName = "Iron Sights",
|
||||
Slot = {"optic_lp", "optic"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "Weapon_Lid", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(0, -0.5, -1.5), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(90, 0, -90),
|
||||
wpos = Vector(7, 0.9, -6),
|
||||
wang = Angle(-9.738, -1, 180)
|
||||
},
|
||||
InstalledEles = {"nors"},
|
||||
CorrectiveAng = Angle(0, 0, 0),
|
||||
ExtraSightDist = 3
|
||||
},
|
||||
{
|
||||
PrintName = "Backup Optic", -- print name
|
||||
Slot = {"optic_lp"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "Weapon_Main", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(-0.6, -4.2, 12), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(90, 0, -45),
|
||||
wpos = Vector(3, 0.832, -2),
|
||||
wang = Angle(-10.393, 0, 180)
|
||||
},
|
||||
InstalledEles = {"bkrail"},
|
||||
KeepBaseIrons = true,
|
||||
ExtraSightDist = 12
|
||||
},
|
||||
{
|
||||
PrintName = "Muzzle",
|
||||
DefaultAttName = "Standard Muzzle",
|
||||
Slot = "muzzle",
|
||||
Bone = "Weapon_Main",
|
||||
Offset = {
|
||||
vpos = Vector(0, -2, 22),
|
||||
vang = Angle(90, 0, -90),
|
||||
wpos = Vector(25, 0.825, -7.5),
|
||||
wang = Angle(-9.738, -1, 180)
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = {"foregrip", "ubgl", "bipod"},
|
||||
Bone = "Weapon_Main",
|
||||
Offset = {
|
||||
vpos = Vector(0, -1, 14.738),
|
||||
vang = Angle(90, 0, -90),
|
||||
wpos = Vector(14.329, 0.602, -4.453),
|
||||
wang = Angle(-10.216, 0, 180)
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = "tac",
|
||||
Bone = "Weapon_Main",
|
||||
Offset = {
|
||||
vpos = Vector(-0.5, 0, 22), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(90, 0, -90),
|
||||
wpos = Vector(17, 2, -7),
|
||||
wang = Angle(-10.393, 0, -90)
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Grip",
|
||||
Slot = "grip",
|
||||
DefaultAttName = "Standard Grip"
|
||||
},
|
||||
{
|
||||
PrintName = "Fire Group",
|
||||
Slot = "fcg",
|
||||
DefaultAttName = "Standard FCG"
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
Slot = "ammo_bullet"
|
||||
},
|
||||
{
|
||||
PrintName = "Perk",
|
||||
Slot = "perk"
|
||||
},
|
||||
{
|
||||
PrintName = "Charm",
|
||||
DefaultAttName = "None",
|
||||
Slot = {"charm", "fml_charm"},
|
||||
Bone = "Weapon_Main",
|
||||
Offset = {
|
||||
vpos = Vector(1, -2, 4),
|
||||
vang = Angle(90, 0, -90),
|
||||
wpos = Vector(8, 1, -3),
|
||||
wang = Angle(-9, 0, 180)
|
||||
},
|
||||
FreeSlot = true,
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle",
|
||||
Time = 1
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
Time = 0.35,
|
||||
SoundTable = {{s = "weapons/arccw/m249/m249_draw.wav", t = 0}},
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "deploy",
|
||||
Time = 1,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "fire",
|
||||
Time = 0.5,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "iron",
|
||||
Time = 0.5,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
LastClip1OutTime = 95/60,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
LastClip1OutTime = 95/60,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
["bash"] = {
|
||||
Source = {"melee"},
|
||||
Time = 30/60,
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,320 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
-- Model adapted from this: https://steamcommunity.com/sharedfiles/filedetails/?id=646754302
|
||||
-- Thanks!
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Special Weaponry" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.AutoIconAngle = Angle(90, 0, 0)
|
||||
|
||||
SWEP.PrintName = "M2014 Gauss Rifle"
|
||||
SWEP.Trivia_Class = "Antimateriel Rifle"
|
||||
SWEP.Trivia_Desc = "Advanced anti-materiel rifle developed following controversial tests at the 2020 Lingshan Incident. Its lethality is comparable to .50 BMG rounds, but has more power and less recoil."
|
||||
SWEP.Trivia_Manufacturer = "CryNet Armories"
|
||||
SWEP.Trivia_Calibre = "10mm Slug"
|
||||
SWEP.Trivia_Mechanism = "Magnetic Acceleration"
|
||||
SWEP.Trivia_Country = "USA"
|
||||
SWEP.Trivia_Year = 2025
|
||||
|
||||
SWEP.Slot = 4
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arccw/c_gauss_rifle.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arccw/w_gauss_rifle.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
|
||||
SWEP.Damage = 200
|
||||
SWEP.DamageMin = 100 -- damage done at maximum range
|
||||
SWEP.RangeMin = 50
|
||||
SWEP.Range = 200 -- in METRES
|
||||
SWEP.Penetration = 80
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 12000 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
|
||||
SWEP.Tracer = "ToolTracer"
|
||||
SWEP.TracerNum = 1 -- tracer every X
|
||||
SWEP.TracerCol = Color(255, 25, 25)
|
||||
SWEP.TracerWidth = 3
|
||||
|
||||
SWEP.ChamberSize = 0 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 4 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 8
|
||||
SWEP.ReducedClipSize = 2
|
||||
|
||||
SWEP.Recoil = 4.5
|
||||
SWEP.RecoilSide = 2
|
||||
SWEP.MaxRecoilBlowback = 0.7
|
||||
|
||||
SWEP.Delay = 60 / 50 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = {"weapon_crossbow"}
|
||||
SWEP.NPCWeight = 10
|
||||
|
||||
SWEP.AccuracyMOA = 1 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 900 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 250
|
||||
|
||||
SWEP.Primary.Ammo = "SniperPenetratedRound" -- what ammo type the gun uses
|
||||
SWEP.MagID = "gauss_rifle" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 135 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 100 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "weapons/arccw/gauss_rifle/gauss-1.wav"
|
||||
SWEP.ShootSoundSilenced = "weapons/arccw/m4a1/m4a1_01.wav"
|
||||
SWEP.DistantShootSound = nil --"weapons/arccw/bfg/bfg_fire_distant.wav"
|
||||
|
||||
SWEP.MuzzleEffect = nil
|
||||
SWEP.ShellModel = "models/shells/shell_338mag.mdl"
|
||||
SWEP.ShellPitch = 60
|
||||
SWEP.ShellScale = 2
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.SightTime = 0.45
|
||||
SWEP.SpeedMult = 0.85
|
||||
SWEP.SightedSpeedMult = 0.5
|
||||
|
||||
SWEP.BulletBones = { -- the bone that represents bullets in gun/mag
|
||||
-- [0] = "bulletchamber",
|
||||
-- [1] = "bullet1"
|
||||
}
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.CaseBones = {}
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-1.841, 0, 0.879),
|
||||
Ang = Angle(0, 0, 0),
|
||||
Magnification = 1.1,
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_RPG
|
||||
|
||||
SWEP.ActivePos = Vector(1, 4, 0.5)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.CustomizePos = Vector(7, 6, -2)
|
||||
|
||||
SWEP.HolsterPos = Vector(6, 3, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.BarrelLength = 55
|
||||
SWEP.AttachmentElements = {
|
||||
["extendedmag"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 1}},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.ExtraSightDist = 5
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic", -- print name
|
||||
DefaultAttName = "Iron Sights",
|
||||
Slot = {"optic", "optic_sniper", "optic_lp"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "body", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(-5, -4.5, 0), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(180, 0, -90),
|
||||
wpos = Vector(10, 1, -8),
|
||||
wang = Angle(-5, 0, 180)
|
||||
},
|
||||
VMScale = Vector(1, 1, 1), --Vector(0.75, 0.75, 0.75),
|
||||
CorrectivePos = Vector(0, 0, 0),
|
||||
CorrectiveAng = Angle(0, 0, 0),
|
||||
Installed = "optic_gauss_scope",
|
||||
ExtraSightDist = 5,
|
||||
},
|
||||
{
|
||||
PrintName = "Capacitor",
|
||||
DefaultAttName = "Standard Capacitors",
|
||||
Slot = "gauss_rifle_capacitor",
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = {"foregrip", "bipod"},
|
||||
Bone = "body",
|
||||
Offset = {
|
||||
vpos = Vector(-14, -1, 0),
|
||||
vang = Angle(180, 0, -90),
|
||||
wpos = Vector(18, 1, -4),
|
||||
wang = Angle(-5, 0, 180)
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = "tac",
|
||||
Bone = "body",
|
||||
Offset = {
|
||||
vpos = Vector(-20, -1.2, 0),
|
||||
vang = Angle(180, 0, -90),
|
||||
wpos = Vector(28, 1, -5),
|
||||
wang = Angle(-5, 0, 180)
|
||||
},
|
||||
ExtraSightDist = 15
|
||||
},
|
||||
{
|
||||
PrintName = "Munitions",
|
||||
DefaultAttName = "Iron Slugs",
|
||||
Slot = "gauss_rifle_bullet"
|
||||
},
|
||||
{
|
||||
PrintName = "Perk",
|
||||
Slot = {"perk", "go_perk"}
|
||||
},
|
||||
{
|
||||
PrintName = "Charm",
|
||||
Slot = "charm",
|
||||
FreeSlot = true,
|
||||
Bone = "body", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(-5, -1.5, 0.7), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(180, 0, -90),
|
||||
wpos = Vector(10, 2, -4),
|
||||
wang = Angle(-5, 0, 180)
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Hook_PreDoEffects = function(wep, fx)
|
||||
return true
|
||||
end
|
||||
|
||||
SWEP.Hook_SelectFireAnimation = function(wep, anim)
|
||||
local cap = wep.Attachments[2].Installed
|
||||
if anim and cap == "gauss_rifle_capacitor" then
|
||||
return anim .. "_turbo"
|
||||
end
|
||||
end
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle",
|
||||
Time = 4
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
Time = 1.5,
|
||||
LHIK = false
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "shoot",
|
||||
Time = 1.2,
|
||||
},
|
||||
["fire_turbo"] = {
|
||||
Source = "shoot_turbo",
|
||||
Time = 1.2,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "shoot_iron",
|
||||
Time = 1.2,
|
||||
},
|
||||
["fire_iron_turbo"] = {
|
||||
Source = "shoot_iron",
|
||||
Time = 1.2 / 1.5,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
Time = 5,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Checkpoints = {25, 50, 70, 100, 115},
|
||||
FrameRate = 37,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 1,
|
||||
},
|
||||
}
|
||||
|
||||
sound.Add({
|
||||
name = "ArcCW_Gauss_Rifle.Draw",
|
||||
channel = CHAN_WEAPON,
|
||||
volume = 1.0,
|
||||
sound = "weapons/arccw/gauss_rifle/draw.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "ArcCW_Gauss_Rifle.Boltback",
|
||||
channel = CHAN_WEAPON,
|
||||
volume = 1.0,
|
||||
sound = "weapons/arccw/gauss_rifle/boltback.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "ArcCW_Gauss_Rifle.Boltforward",
|
||||
channel = CHAN_WEAPON,
|
||||
volume = 1.0,
|
||||
sound = "weapons/arccw/gauss_rifle/boltforward.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "ArcCW_Gauss_Rifle.Clipout",
|
||||
channel = CHAN_WEAPON,
|
||||
volume = 1.0,
|
||||
sound = "weapons/arccw/gauss_rifle/clipout.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "ArcCW_Gauss_Rifle.Clipin",
|
||||
channel = CHAN_WEAPON,
|
||||
volume = 1.0,
|
||||
sound = "weapons/arccw/gauss_rifle/clipin.wav"
|
||||
})
|
||||
|
||||
if engine.ActiveGamemode() == "terrortown" then
|
||||
SWEP.Kind = WEAPON_EQUIP1
|
||||
SWEP.Slot = 6
|
||||
SWEP.CanBuy = { ROLE_TRAITOR }
|
||||
SWEP.LimitedStock = true
|
||||
SWEP.AutoSpawnable = false
|
||||
SWEP.EquipMenuData = {
|
||||
type = "Weapon",
|
||||
desc = "Extremely powerful futuristic antimaterial rifle.\nHas unique and noticable tracers.\nCapacitor and munition attachments are free."
|
||||
}
|
||||
SWEP.Icon = "arccw/ttticons/arccw_m107.png"
|
||||
end
|
||||
|
||||
local cvar = CreateConVar("arccw_gauss_rifle_op", "0", FCVAR_REPLICATED + FCVAR_ARCHIVE, "Enable to make the Gauss Rifle very overpowered. Set to 2 to also make it admin only.", 0, 2)
|
||||
if cvar:GetInt() > 0 then
|
||||
SWEP.AdminOnly = (cvar:GetInt() > 1)
|
||||
SWEP.Recoil = 2.5
|
||||
SWEP.RecoilSide = 1
|
||||
SWEP.HipDispersion = 300
|
||||
SWEP.MoveDispersion = 150
|
||||
SWEP.SpeedMult = 0.9
|
||||
SWEP.SightedSpeedMult = 0.6
|
||||
SWEP.SightTime = 0.3
|
||||
end
|
||||
@@ -0,0 +1,86 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base_nade"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "ArcCW - GSO (Gear)" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "M84 Stun"
|
||||
SWEP.Trivia_Class = "Hand Grenade"
|
||||
SWEP.Trivia_Desc = "The M84 is the currently-issued stun grenade (\"flashbang\") of the United States Armed Forces and SWAT teams throughout the United States. Upon detonation, it emits an intensely loud \"bang\" of 170–180 decibels and a blinding flash of more than one million candela within five feet of initiation, sufficient to cause immediate flash blindness, deafness, tinnitus, and inner ear disturbance. Exposed personnel experience disorientation, confusion and loss of coordination and balance. While these effects are all intended to be temporary, there is risk of permanent injury. Consequently, the M84 is classified as a less-lethal weapon."
|
||||
SWEP.Trivia_Manufacturer = "Picatinny Arsenal"
|
||||
SWEP.Trivia_Calibre = "N/A"
|
||||
SWEP.Trivia_Mechanism = "Magnesium/Ammonium Nitrate Mix"
|
||||
SWEP.Trivia_Country = "USA"
|
||||
SWEP.Trivia_Year = 1995
|
||||
|
||||
SWEP.Slot = 4
|
||||
|
||||
SWEP.NotForNPCs = true
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arccw_go/v_eq_flashbang.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arccw_go/w_eq_flashbang_thrown.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(3, 2, -1),
|
||||
ang = Angle(-10, 0, 180)
|
||||
}
|
||||
|
||||
SWEP.FuseTime = 2.5
|
||||
|
||||
SWEP.Throwing = true
|
||||
|
||||
SWEP.Primary.ClipSize = 1
|
||||
|
||||
SWEP.MuzzleVelocity = 1000
|
||||
SWEP.ShootEntity = "arccw_thr_go_flash"
|
||||
|
||||
SWEP.TTTWeaponType = "weapon_ttt_confgrenade"
|
||||
SWEP.NPCWeaponType = "weapon_grenade"
|
||||
SWEP.NPCWeight = 50
|
||||
|
||||
SWEP.PullPinTime = 0.5
|
||||
|
||||
SWEP.Animations = {
|
||||
["draw"] = {
|
||||
Source = "deploy",
|
||||
},
|
||||
["pre_throw"] = {
|
||||
Source = "pullpin",
|
||||
},
|
||||
["throw"] = {
|
||||
Source = "throw",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RANGE_ATTACK_GRENADE,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "arccw_go/hegrenade/grenade_throw.wav",
|
||||
t = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sound.Add({
|
||||
name = "ARCCW_GO_GRENADE.PullPin_Grenade_Start",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "arccw_go/hegrenade/pinpull_start.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "ARCCW_GO_GRENADE.PullPin_Grenade",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "arccw_go/hegrenade/pinpull.wav"
|
||||
})
|
||||
@@ -0,0 +1,86 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base_nade"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "ArcCW - GSO (Gear)" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "M67 Frag"
|
||||
SWEP.Trivia_Class = "Hand Grenade"
|
||||
SWEP.Trivia_Desc = "High explosive fragmentation hand grenade. Can be cooked."
|
||||
SWEP.Trivia_Manufacturer = "Day & Zimmermann"
|
||||
SWEP.Trivia_Calibre = "N/A"
|
||||
SWEP.Trivia_Mechanism = "Composition B"
|
||||
SWEP.Trivia_Country = "USA"
|
||||
SWEP.Trivia_Year = 1968
|
||||
|
||||
SWEP.Slot = 4
|
||||
|
||||
SWEP.NotForNPCs = true
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arccw_go/v_eq_fraggrenade.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arccw_go/w_eq_fraggrenade_thrown.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(3, 2, -1),
|
||||
ang = Angle(-10, 0, 180)
|
||||
}
|
||||
|
||||
SWEP.FuseTime = 3.5
|
||||
|
||||
SWEP.Throwing = true
|
||||
|
||||
SWEP.Primary.ClipSize = 1
|
||||
|
||||
SWEP.MuzzleVelocity = 1000
|
||||
SWEP.ShootEntity = "arccw_thr_go_frag"
|
||||
|
||||
SWEP.TTTWeaponType = "weapon_ttt_confgrenade"
|
||||
SWEP.NPCWeaponType = "weapon_grenade"
|
||||
SWEP.NPCWeight = 50
|
||||
|
||||
SWEP.PullPinTime = 0.5
|
||||
|
||||
SWEP.Animations = {
|
||||
["draw"] = {
|
||||
Source = "deploy",
|
||||
},
|
||||
["pre_throw"] = {
|
||||
Source = "pullpin",
|
||||
},
|
||||
["throw"] = {
|
||||
Source = "throw",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RANGE_ATTACK_GRENADE,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "arccw_go/hegrenade/grenade_throw.wav",
|
||||
t = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sound.Add({
|
||||
name = "ARCCW_GO_GRENADE.PullPin_Grenade_Start",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "arccw_go/hegrenade/pinpull_start.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "ARCCW_GO_GRENADE.PullPin_Grenade",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "arccw_go/hegrenade/pinpull.wav"
|
||||
})
|
||||
@@ -0,0 +1,86 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base_nade"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "ArcCW - GSO (Gear)" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "AN/M14 Thermite"
|
||||
SWEP.Trivia_Class = "Hand Grenade"
|
||||
SWEP.Trivia_Desc = "A grenade that produces extremely hot molten iron via a burning thermite reaction. It is mainly intended to be used to destroy material rather than as a weapon."
|
||||
SWEP.Trivia_Manufacturer = "Day & Zimmermann"
|
||||
SWEP.Trivia_Calibre = "N/A"
|
||||
SWEP.Trivia_Mechanism = "Thermite TH3"
|
||||
SWEP.Trivia_Country = "USA"
|
||||
SWEP.Trivia_Year = 1944
|
||||
|
||||
SWEP.Slot = 4
|
||||
|
||||
SWEP.NotForNPCs = true
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arccw_go/v_eq_incendiarygrenade.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arccw_go/w_eq_incendiarygrenade_thrown.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(3, 2, -1),
|
||||
ang = Angle(-10, 0, 180)
|
||||
}
|
||||
|
||||
SWEP.FuseTime = 5
|
||||
|
||||
SWEP.Throwing = true
|
||||
|
||||
SWEP.Primary.ClipSize = 1
|
||||
|
||||
SWEP.MuzzleVelocity = 1000
|
||||
SWEP.ShootEntity = "arccw_thr_go_incendiary"
|
||||
|
||||
SWEP.TTTWeaponType = "weapon_zm_molotov"
|
||||
SWEP.NPCWeaponType = "weapon_grenade"
|
||||
SWEP.NPCWeight = 50
|
||||
|
||||
SWEP.PullPinTime = 0.5
|
||||
|
||||
SWEP.Animations = {
|
||||
["draw"] = {
|
||||
Source = "deploy",
|
||||
},
|
||||
["pre_throw"] = {
|
||||
Source = "pullpin",
|
||||
},
|
||||
["throw"] = {
|
||||
Source = "throw",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RANGE_ATTACK_GRENADE,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "arccw_go/hegrenade/grenade_throw.wav",
|
||||
t = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sound.Add({
|
||||
name = "ARCCW_GO_GRENADE.PullPin_Grenade_Start",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "arccw_go/hegrenade/pinpull_start.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "ARCCW_GO_GRENADE.PullPin_Grenade",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "arccw_go/hegrenade/pinpull.wav"
|
||||
})
|
||||
@@ -0,0 +1,91 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base_nade"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "ArcCW - GSO (Gear)" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "Molotov Cocktail"
|
||||
SWEP.Trivia_Class = "Hand Grenade"
|
||||
SWEP.Trivia_Desc = "Improvised hand grenade created with a bottle of fuel and a rag, lit on fire and thrown. The Molotov Cocktail earned its name from Soviet foreign minister Vyacheslav Molotov, who claimed that Soviet bombing raids were humanitarian aid packages. Sarcastically, the Finns dubbed the bombs 'Molotov's Breadbaskets', and when they developed the fuel bomb to fight Soviet tanks, named them 'Molotov's Cocktails', to go with his food parcels."
|
||||
SWEP.Trivia_Manufacturer = "The People"
|
||||
SWEP.Trivia_Calibre = "N/A"
|
||||
SWEP.Trivia_Mechanism = "Gasoline + Dish Soap"
|
||||
SWEP.Trivia_Country = "Finland"
|
||||
SWEP.Trivia_Year = 1939
|
||||
|
||||
SWEP.Slot = 4
|
||||
|
||||
SWEP.NotForNPCs = true
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arccw_go/v_eq_molotov.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arccw_go/w_eq_molotov_thrown.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(3, 2, -1),
|
||||
ang = Angle(-10, 0, 180)
|
||||
}
|
||||
|
||||
SWEP.ProceduralViewBobIntensity = 0
|
||||
|
||||
SWEP.FuseTime = false
|
||||
|
||||
SWEP.FuseTime = false
|
||||
|
||||
SWEP.Throwing = true
|
||||
|
||||
SWEP.Primary.ClipSize = 1
|
||||
|
||||
SWEP.MuzzleVelocity = 1000
|
||||
SWEP.ShootEntity = "arccw_thr_go_molotov"
|
||||
|
||||
SWEP.TTTWeaponType = "weapon_zm_molotov"
|
||||
SWEP.NPCWeaponType = "weapon_grenade"
|
||||
SWEP.NPCWeight = 50
|
||||
|
||||
SWEP.PullPinTime = 1
|
||||
|
||||
SWEP.Animations = {
|
||||
["draw"] = {
|
||||
Source = "deploy",
|
||||
},
|
||||
["pre_throw"] = {
|
||||
Source = "pullpin",
|
||||
SoundTable = {
|
||||
{
|
||||
t = 0,
|
||||
s = "arccw_go/molotov/fire_idle_loop_1.wav",
|
||||
c = CHAN_WEAPON
|
||||
}
|
||||
}
|
||||
},
|
||||
["throw"] = {
|
||||
Source = "throw",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RANGE_ATTACK_GRENADE,
|
||||
SoundTable = {
|
||||
{
|
||||
t = 0,
|
||||
s = "arccw_go/molotov/grenade_throw.wav",
|
||||
c = CHAN_WEAPON
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sound.Add({
|
||||
name = "ARCCW_GO_MOLOTOV.Draw",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "arccw_go/molotov/molotov_draw.wav"
|
||||
})
|
||||
@@ -0,0 +1,86 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base_nade"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "ArcCW - GSO (Gear)" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "Model 5210 Smoke"
|
||||
SWEP.Trivia_Class = "Hand Grenade"
|
||||
SWEP.Trivia_Desc = "A smoke grenade that produces a white smoke cloud for concealment. Smoke clouds last for around 15 seconds."
|
||||
SWEP.Trivia_Manufacturer = "Combined Systems INC"
|
||||
SWEP.Trivia_Calibre = "N/A"
|
||||
SWEP.Trivia_Mechanism = "Pyrotechnic delay fuze"
|
||||
SWEP.Trivia_Country = "USA"
|
||||
SWEP.Trivia_Year = 1997
|
||||
|
||||
SWEP.Slot = 4
|
||||
|
||||
SWEP.NotForNPCs = true
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arccw_go/v_eq_smokegrenade.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arccw_go/w_eq_smokegrenade_thrown.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(3, 2, -1),
|
||||
ang = Angle(-10, 0, 180)
|
||||
}
|
||||
|
||||
SWEP.FuseTime = 3.5
|
||||
|
||||
SWEP.Throwing = true
|
||||
|
||||
SWEP.Primary.ClipSize = 1
|
||||
|
||||
SWEP.MuzzleVelocity = 1000
|
||||
SWEP.ShootEntity = "arccw_thr_go_smoke"
|
||||
|
||||
SWEP.TTTWeaponType = "weapon_ttt_smokegrenade"
|
||||
SWEP.NPCWeaponType = "weapon_grenade"
|
||||
SWEP.NPCWeight = 50
|
||||
|
||||
SWEP.PullPinTime = 0.5
|
||||
|
||||
SWEP.Animations = {
|
||||
["draw"] = {
|
||||
Source = "deploy",
|
||||
},
|
||||
["pre_throw"] = {
|
||||
Source = "pullpin",
|
||||
},
|
||||
["throw"] = {
|
||||
Source = "throw",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RANGE_ATTACK_GRENADE,
|
||||
SoundTable = {
|
||||
{
|
||||
s = "arccw_go/hegrenade/grenade_throw.wav",
|
||||
t = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sound.Add({
|
||||
name = "ARCCW_GO_GRENADE.PullPin_Grenade_Start",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "arccw_go/hegrenade/pinpull_start.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "ARCCW_GO_GRENADE.PullPin_Grenade",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "arccw_go/hegrenade/pinpull.wav"
|
||||
})
|
||||
@@ -0,0 +1,279 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Overwatch Weapons" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "Heavy Shotgun"
|
||||
SWEP.TrueName = "Heavy Shotgun"
|
||||
SWEP.Trivia_Class = "Semi-Auto"
|
||||
SWEP.Trivia_Desc = "The Heavy Shotgun does a great job at destroying targets at close range. When it comes to certain situations"
|
||||
SWEP.Trivia_Manufacturer = "Overwatch"
|
||||
SWEP.Trivia_Calibre = "6 Gauge"
|
||||
SWEP.Trivia_Mechanism = "Gas-Operated"
|
||||
SWEP.Trivia_Country = "Bulgaria"
|
||||
SWEP.Trivia_Year = 2015
|
||||
|
||||
SWEP.Slot = 2
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then
|
||||
SWEP.PrintName = SWEP.TrueName
|
||||
SWEP.Trivia_Manufacturer = "Overwatch"
|
||||
end
|
||||
|
||||
SWEP.UseHands = true
|
||||
SWEP.ViewModel = "models/weapons/c_heavyshotgun.mdl"
|
||||
SWEP.WorldModel = "models/weapons/w_heavyshotgun.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
SWEP.DefaultBodygroups = "0000000"
|
||||
|
||||
SWEP.Damage = 11
|
||||
SWEP.DamageMin = 11 -- damage done at maximum range
|
||||
SWEP.Range = 90 -- in METRES
|
||||
SWEP.Penetration = 15
|
||||
SWEP.DamageType = DMG_BUCKSHOT
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 150 -- projectile or phys bullet muzzle velocity
|
||||
|
||||
SWEP.TracerNum = 1 -- tracer every X
|
||||
SWEP.TracerCol = Color(255, 25, 25)
|
||||
SWEP.TracerWidth = 6
|
||||
|
||||
SWEP.ChamberSize = 1 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 12 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 20
|
||||
SWEP.ReducedClipSize = 5
|
||||
|
||||
|
||||
SWEP.Recoil = 2.5
|
||||
SWEP.RecoilSide = 0.5
|
||||
SWEP.RecoilRise = 1
|
||||
|
||||
SWEP.Delay = 60 / 90 -- 60 / RPM.
|
||||
SWEP.Num = 8 -- number of shots per trigger pull.
|
||||
SWEP.RunawayBurst = false
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 1
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NotForNPCS = true
|
||||
SWEP.NPCWeaponType = {"weapon_shotgun"}
|
||||
SWEP.NPCWeight = 150
|
||||
|
||||
SWEP.AccuracyMOA = 40 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 250 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 500
|
||||
|
||||
SWEP.ShootWhileSprint = false
|
||||
|
||||
SWEP.Primary.Ammo = "buckshot" -- what ammo type the gun uses
|
||||
SWEP.MagID = "HShotgun" -- the magazine pool this gun draws from
|
||||
SWEP.ShootVol = 200 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 90 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "shotgun_dbl_fire.wav"
|
||||
SWEP.ShootSoundSilenced = "weapons/arccw/m4a1/m4a1_silencer_01.wav"
|
||||
SWEP.DistantShootSound = "weapons/arccw/ak47/ak47-1-distant.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_minimi"
|
||||
SWEP.ShellModel = ""
|
||||
SWEP.ShellScale = 0
|
||||
SWEP.ShellMaterial = ""
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.SpeedMult = 0.75
|
||||
SWEP.SightedSpeedMult = 0.6
|
||||
SWEP.SightTime = 0.33
|
||||
SWEP.VisualRecoilMult = 1
|
||||
SWEP.RecoilRise = 1
|
||||
|
||||
SWEP.BulletBones = { -- the bone that represents bullets in gun/mag
|
||||
-- [0] = "bulletchamber",
|
||||
-- [1] = "bullet1"
|
||||
}
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.CaseBones = {}
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-4, -4, 0),
|
||||
Ang = Angle(0, 0, 0),
|
||||
Magnification = 1.1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "shotgun"
|
||||
SWEP.HoldtypeSights = "ar2"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
SWEP.ActivePos = Vector(0, 0, 0)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.HolsterPos = Vector(0.532, -6, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(7, 1, -2),
|
||||
ang = Angle(0, 90, 180),
|
||||
bone = "ValveBiped.Bip01_R_Hand",
|
||||
scale = 1
|
||||
}
|
||||
|
||||
SWEP.BarrelLength = 20
|
||||
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
}
|
||||
|
||||
SWEP.ExtraSightDist = 5
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Choke",
|
||||
DefaultAttName = "Standard Choke",
|
||||
Slot = "choke",
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
Slot = "ammo_shotgun",
|
||||
},
|
||||
{
|
||||
PrintName = "Perk",
|
||||
Slot = "perk"
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle",
|
||||
Time = 1
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
Time = 1,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
["holster"] = {
|
||||
Source = "holster",
|
||||
Time = 0.4,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "idle",
|
||||
Time = 1,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "fire1",
|
||||
Time = 0.5,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "fire1",
|
||||
Time = 0.5,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
Time = 4,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Framerate = 37,
|
||||
Checkpoints = {28, 38, 69},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload",
|
||||
Time = 4,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Framerate = 30,
|
||||
Checkpoints = {28, 38, 69},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
}
|
||||
|
||||
local soundData = {
|
||||
name = "Weapon_Swing" ,
|
||||
channel = CHAN_WEAPON,
|
||||
volume = 0.5,
|
||||
soundlevel = 80,
|
||||
pitchstart = 100,
|
||||
pitchend = 100,
|
||||
sound = "draw_minigun_heavy.wav"
|
||||
}
|
||||
sound.Add(soundData)
|
||||
|
||||
local soundData = {
|
||||
name = "Weapon_Swing2" ,
|
||||
channel = CHAN_WEAPON,
|
||||
volume = 0.5,
|
||||
soundlevel = 80,
|
||||
pitchstart = 100,
|
||||
pitchend = 100,
|
||||
sound = "draw_default.wav"
|
||||
}
|
||||
sound.Add(soundData)
|
||||
|
||||
local soundData = {
|
||||
name = "Magazine.Out" ,
|
||||
channel = CHAN_WEAPON,
|
||||
volume = 0.5,
|
||||
soundlevel = 80,
|
||||
pitchstart = 100,
|
||||
pitchend = 100,
|
||||
sound = "sniper_military_slideback_1.wav"
|
||||
}
|
||||
sound.Add(soundData)
|
||||
|
||||
local soundData = {
|
||||
name = "Magazine.In" ,
|
||||
channel = CHAN_WEAPON,
|
||||
volume = 0.5,
|
||||
soundlevel = 80,
|
||||
pitchstart = 100,
|
||||
pitchend = 100,
|
||||
sound = "sniper_military_slideforward_1.wav"
|
||||
}
|
||||
sound.Add(soundData)
|
||||
|
||||
local soundData = {
|
||||
name = "Cock" ,
|
||||
channel = CHAN_WEAPON,
|
||||
volume = 0.5,
|
||||
soundlevel = 80,
|
||||
pitchstart = 100,
|
||||
pitchend = 100,
|
||||
sound = "shotgun_cock.wav"
|
||||
}
|
||||
sound.Add(soundData)
|
||||
@@ -0,0 +1,289 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Overwatch Weapons" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "OICW"
|
||||
SWEP.TrueName = "Overwatch Tactical Issue"
|
||||
|
||||
-- Technically you can omit all trivia info, but that's not fun! Do a bit of research and write some stuff in!
|
||||
SWEP.Trivia_Class = "Assault Rifle"
|
||||
SWEP.Trivia_Desc = "Fast firing battle rifle designed to replace the human MP7 in the Combine's arsenal, with an ever faster 5-round burst mode. Good for runnin' and gunnin'."
|
||||
SWEP.Trivia_Manufacturer = "The Combine"
|
||||
SWEP.Trivia_Calibre = "Light Pulse Capsule"
|
||||
SWEP.Trivia_Mechanism = "Dark Energy Cyclotron"
|
||||
SWEP.Trivia_Country = "Universal Union - Earth Overwatch"
|
||||
SWEP.Trivia_Year = "Occupation Period 1, 201x"
|
||||
|
||||
SWEP.Slot = 2
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then
|
||||
SWEP.PrintName = SWEP.TrueName
|
||||
SWEP.Trivia_Manufacturer = "The Combine"
|
||||
end
|
||||
|
||||
SWEP.UseHands = false
|
||||
|
||||
SWEP.ViewModel = "models/weapons/oicw/v_oicw.mdl"
|
||||
SWEP.WorldModel = "models/weapons/oicw/w_oicw.mdl"
|
||||
SWEP.ViewModelFOV = 54
|
||||
|
||||
SWEP.Damage = 11
|
||||
SWEP.DamageMin = 11
|
||||
SWEP.Range = 50 -- in METRES
|
||||
SWEP.Penetration = 16
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 600 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
SWEP.ChamberSize = 0 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 60 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 90
|
||||
SWEP.ReducedClipSize = 30
|
||||
|
||||
SWEP.Recoil = 0.53
|
||||
SWEP.RecoilSide = 0.02
|
||||
SWEP.RecoilRise = 0.1
|
||||
|
||||
|
||||
SWEP.Delay = 60 / 750 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 2,
|
||||
},
|
||||
{
|
||||
Mode = -5,
|
||||
Mult_RPM = 2,
|
||||
RunawayBurst = true,
|
||||
PostBurstDelay = 0.25
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_ar2"
|
||||
SWEP.NPCWeight = 150
|
||||
|
||||
SWEP.AccuracyMOA = 9 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 250 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 200
|
||||
|
||||
SWEP.Primary.Ammo = "ar2" -- what ammo type the gun uses
|
||||
SWEP.MagID = "oicw2" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 115 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 100 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "weapons/oicw/smg1_fire1.wav"
|
||||
SWEP.ShootSoundSilenced = "weapons/arccw/m4a1/m4a1_silencer_01.wav"
|
||||
SWEP.DistantShootSound = "weapons/oicw/smg1_fire1.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_1"
|
||||
SWEP.ShellModel = nil
|
||||
SWEP.ShellScale = 0
|
||||
SWEP.ShellMaterial = nil
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.SpeedMult = 1
|
||||
SWEP.SightedSpeedMult = 0.7
|
||||
SWEP.SightTime = 0.33
|
||||
SWEP.VisualRecoilMult = 1
|
||||
SWEP.RecoilRise = 1
|
||||
|
||||
SWEP.BulletBones = { -- the bone that represents bullets in gun/mag
|
||||
-- [0] = "bulletchamber",
|
||||
-- [1] = "bullet1"
|
||||
}
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.CaseBones = {}
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-10, 0, 0),
|
||||
Ang = Angle(-30, 0 ,0),
|
||||
Magnification = 2,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
CrosshairInSights = true
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
SWEP.ActivePos = Vector(-2, -6, 0)
|
||||
SWEP.ActiveAng = Angle(2, 0, 0)
|
||||
|
||||
SWEP.HolsterPos = Vector(0.532, -6, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, 0)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.BarrelLength = 27
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
|
||||
["optic"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 1}},
|
||||
WMBodygroups = {{indc = 1, bg = 1}},
|
||||
},
|
||||
["optic_lp"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 1}},
|
||||
WMBodygroups = {{ind = 1, bg = 1}},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.ExtraSightDist = 5
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic", -- print name
|
||||
DefaultAttName = "Integral Sight (2x)",
|
||||
Slot = {"optic_lp"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "Bip01 R Hand", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(10.438, -1.599, 11.939), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, 0, 0),
|
||||
wpos = Vector(6.099, 0.699, -6.301),
|
||||
wang = Angle(171.817, 180-1.17, 0),
|
||||
},
|
||||
|
||||
CorrectivePos = Vector(0, 0, 0),
|
||||
CorrectiveAng = Angle(2, 0, 0),
|
||||
},
|
||||
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = {"ubgl"},
|
||||
Bone = "Bip01 R Hand",
|
||||
Offset = {
|
||||
vpos = Vector(21.67, -2.573, 3.747),
|
||||
vang = Angle(0, 0, 0),
|
||||
wpos = Vector(17, 0.6, -4.676),
|
||||
wang = Angle(-10, 0, 180)
|
||||
},
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
PrintName = "Muzzle",
|
||||
DefaultAttName = "Standard Muzzle",
|
||||
Slot = "muzzle",
|
||||
Bone = "Bip01 R Hand",
|
||||
Offset = {
|
||||
vpos = Vector(31.375, -2.731, 7.867),
|
||||
vang = Angle(-1.7, 0, 0),
|
||||
wpos = Vector(26.648, 0.782, -8.042),
|
||||
wang = Angle(-9.79, 0, 180)
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = "tac",
|
||||
Bone = "Bip01 R Hand",
|
||||
Offset = {
|
||||
vpos = Vector(19.806, -4.776, 8.824), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(-2, 0, -90),
|
||||
wpos = Vector(15.625, -0.1, -6.298),
|
||||
wang = Angle(-8.829, -0.556, 90)
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Grip",
|
||||
Slot = "grip",
|
||||
DefaultAttName = "Standard Grip"
|
||||
},
|
||||
{
|
||||
PrintName = "Stock",
|
||||
Slot = "stock",
|
||||
DefaultAttName = "Standard Stock"
|
||||
},
|
||||
{
|
||||
PrintName = "Fire Group",
|
||||
Slot = "fcg",
|
||||
DefaultAttName = "Standard FCG"
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
Slot = "ammo_bullet"
|
||||
},
|
||||
{
|
||||
PrintName = "Perk",
|
||||
Slot = "perk"
|
||||
},
|
||||
{
|
||||
PrintName = "Charm",
|
||||
Slot = "charm",
|
||||
FreeSlot = true,
|
||||
Bone = "Bip01 R Hand", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(12.66, -3.62, 9.439), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, 0, 0),
|
||||
wpos = Vector(6.099, 1.1, -3.301),
|
||||
wang = Angle(171.817, 180-1.17, 0),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = false,
|
||||
|
||||
["draw"] = {
|
||||
Source = "AR2_draw",
|
||||
Time = 0.4,
|
||||
SoundTable = {{s = "weapons/arccw/ak47/ak47_draw.wav", t = 0}},
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
|
||||
["fire"] = {
|
||||
Source = {"AR2_primary_fire3", "AR2_primary_fire4"},
|
||||
Time = 0.5,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "AR2_primary_dry",
|
||||
Time = 0.5,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "AR2_reload",
|
||||
Time = 2.5,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Framerate = 37,
|
||||
Checkpoints = {28, 38, 69},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {{s = "weapons/oicw/smg1_reload.wav", t = 0}},
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "AR2_reload",
|
||||
Time = 2.5,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Framerate = 37,
|
||||
Checkpoints = {28, 38, 69},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {{s = "weapons/oicw/smg1_reload.wav", t = 0}},
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,231 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Overwatch Weapons" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "Ordinal Rifle"
|
||||
SWEP.TrueName = "Ordinal Rifle"
|
||||
SWEP.Trivia_Class = "Assault Carbine"
|
||||
SWEP.Trivia_Desc = "It does the shoot"
|
||||
SWEP.Trivia_Manufacturer = "Overwatch"
|
||||
SWEP.Trivia_Calibre = "Energy things"
|
||||
SWEP.Trivia_Mechanism = "Plasma Pulse"
|
||||
SWEP.Trivia_Country = "Bulgaria"
|
||||
SWEP.Trivia_Year = 2015
|
||||
|
||||
SWEP.Slot = 2
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/c_ordinalriflearccw.mdl"
|
||||
SWEP.WorldModel = "models/weapons/c_ordinalriflearccw.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
SWEP.MirrorVMWM = true
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-10, 4.2, -6),
|
||||
ang = Angle(-10, 0, 180)
|
||||
}
|
||||
|
||||
SWEP.DefaultBodygroups = "00000000000"
|
||||
|
||||
SWEP.Damage = 19
|
||||
SWEP.DamageMin = 19
|
||||
SWEP.Range = 250 -- in METRES
|
||||
SWEP.Penetration = 1
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 1050 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
SWEP.ChamberSize = 0 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 30 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 45
|
||||
SWEP.ReducedClipSize = 10
|
||||
|
||||
SWEP.PhysBulletMuzzleVelocity = 700
|
||||
|
||||
SWEP.Recoil = 0.3
|
||||
SWEP.RecoilSide = 0.670
|
||||
SWEP.RecoilRise = 0.1
|
||||
|
||||
SWEP.Delay = 60 / 550 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 2,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_ar2"
|
||||
SWEP.NPCWeight = 100
|
||||
|
||||
SWEP.AccuracyMOA = 5 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 100 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 175
|
||||
|
||||
SWEP.Primary.Ammo = "ar2" -- what ammo type the gun uses
|
||||
SWEP.MagID = "ar2" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 60 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 140 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "weapons/ar2/fire1.wav"
|
||||
SWEP.ShootSoundSilenced = "weapons/ar2/fire1.wav"
|
||||
SWEP.DistantShootSound = "weapons/ar2/fire1.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_minimi"
|
||||
SWEP.ShellModel = ""
|
||||
SWEP.ShellScale = 0
|
||||
SWEP.ShellMaterial = ""
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.SpeedMult = 1
|
||||
SWEP.SightedSpeedMult = 1
|
||||
SWEP.SightTime = 0.2
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-3.2, -1, 0.3),
|
||||
Ang = Angle(0, 0, -30),
|
||||
Magnification = 1.1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
CrosshairInSights = true
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
SWEP.ActivePos = Vector(2,2,-0.6)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.CrouchPos = Vector(0, -3, 1)
|
||||
SWEP.CrouchAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.HolsterPos = Vector(3, 3, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.CustomizePos = Vector(8, 0, 1)
|
||||
SWEP.CustomizeAng = Angle(5, 30, 30)
|
||||
|
||||
SWEP.BarrelLength = 24
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
}
|
||||
|
||||
SWEP.ExtraSightDist = 10
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic",
|
||||
Slot = "optic_lp",
|
||||
Bone = "pulserifle",
|
||||
DefaultAttName = "Iron Sights",
|
||||
Offset = {
|
||||
vpos = Vector(-0, -5, 4.25),
|
||||
vang = Angle(0, 90, 0),
|
||||
},
|
||||
VMScale = Vector(1.15, 1.15, 1.15),
|
||||
CorrectivePos = Vector(0, -10, 0),
|
||||
CorrectiveAng = Angle(0, 0, 0),
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = "foregrip",
|
||||
Bone = "pulserifle",
|
||||
Offset = {
|
||||
vpos = Vector(0, 10, -1.1),
|
||||
vang = Angle(0, -90, 0),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = "tac",
|
||||
Bone = "pulserifle",
|
||||
Offset = {
|
||||
vpos = Vector(-0, 12, 1.2),
|
||||
vang = Angle(0, -90, 0),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Hammer",
|
||||
Slot = "ar2_hammer",
|
||||
DefaultAttName = "Standard Pulse-Action",
|
||||
},
|
||||
{
|
||||
PrintName = "Plug Type",
|
||||
Slot = "ar2_ammo",
|
||||
DefaultAttName = "Standard Plug"
|
||||
},
|
||||
{
|
||||
PrintName = "Perk",
|
||||
Slot = "perk"
|
||||
},
|
||||
{
|
||||
PrintName = "Charm",
|
||||
Slot = "charm",
|
||||
FreeSlot = true,
|
||||
Bone = "pulserifle", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(0.5, -1, 4), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, -90, 0),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle",
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
["fire"] = {
|
||||
Source = {"fire1","fire2"},
|
||||
Time = 0.5,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "fire3",
|
||||
Time = 0.5,
|
||||
},
|
||||
["enter_sights"] = {
|
||||
Source = "idle",
|
||||
Time = 0,
|
||||
},
|
||||
["idle_sights"] = {
|
||||
Source = "idle",
|
||||
Time = 0,
|
||||
},
|
||||
["exit_sights"] = {
|
||||
Source = "idle",
|
||||
Time = 0,
|
||||
},
|
||||
["enter_inspect"] = {
|
||||
Source = "inspect",
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,237 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "New Frontiers" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "SPAS-12"
|
||||
SWEP.TrueName = "SPAS-12"
|
||||
SWEP.Trivia_Class = "Shotgun"
|
||||
SWEP.Trivia_Desc = "12 gauge pistol grip pump shotgun."
|
||||
SWEP.Trivia_Manufacturer = "Franchi"
|
||||
SWEP.Trivia_Calibre = "12 Gauge"
|
||||
SWEP.Trivia_Mechanism = "Pump-Action"
|
||||
SWEP.Trivia_Country = "Italy"
|
||||
SWEP.Trivia_Year = 1979
|
||||
|
||||
SWEP.Slot = 2
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then SWEP.PrintName = SWEP.TrueName end
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/fml/c_fleshy_spas.mdl"
|
||||
SWEP.WorldModel = "models/weapons/tnmmod/w_shotgun.mdl"
|
||||
SWEP.ViewModelFOV = 55
|
||||
|
||||
SWEP.Damage = 16
|
||||
SWEP.DamageMin = 8 -- damage done at maximum range
|
||||
SWEP.Range = 25 -- in METRES
|
||||
SWEP.Penetration = 10
|
||||
SWEP.DamageType = DMG_BUCKSHOT
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 150 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
|
||||
SWEP.TracerNum = 1 -- tracer every X
|
||||
SWEP.TracerCol = Color(255, 25, 25)
|
||||
SWEP.TracerWidth = 3
|
||||
|
||||
SWEP.ChamberSize = 1 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 6 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 8
|
||||
SWEP.ReducedClipSize = 4
|
||||
|
||||
SWEP.Recoil = 6
|
||||
SWEP.RecoilSide = 1
|
||||
SWEP.MaxRecoilBlowback = 2
|
||||
|
||||
SWEP.ShotgunReload = true
|
||||
SWEP.ManualAction = true
|
||||
|
||||
SWEP.Delay = 60 / 80 -- 60 / RPM.
|
||||
SWEP.Num = 8 -- number of shots per trigger pull.
|
||||
SWEP.RunawayBurst = false
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
PrintName = "PUMP",
|
||||
Mode = 1,
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_shotgun"
|
||||
SWEP.NPCWeight = 200
|
||||
|
||||
SWEP.AccuracyMOA = 80 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 200 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 150
|
||||
|
||||
SWEP.Primary.Ammo = "buckshot" -- what ammo type the gun uses
|
||||
|
||||
SWEP.ShootVol = 120 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 100 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "weapons/tnweapons/shotgun/shotgun_dbl_fire.wav"
|
||||
SWEP.DistantShootSound = "weapons/tnweapons/shotgun/shotgun_fire.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_shotgun"
|
||||
SWEP.ShellModel = "models/shells/shell_12gauge.mdl"
|
||||
SWEP.ShellPitch = 100
|
||||
SWEP.ShellSounds = ArcCW.ShotgunShellSoundsTable
|
||||
SWEP.ShellScale = 1.5
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.SpeedMult = 0.95
|
||||
SWEP.SightedSpeedMult = 0.75
|
||||
SWEP.SightTime = 0.27
|
||||
|
||||
SWEP.BulletBones = { -- the bone that represents bullets in gun/mag
|
||||
-- [0] = "bulletchamber",
|
||||
-- [1] = "bullet1"
|
||||
}
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.CaseBones = {}
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-2.431, 2, 0.8),
|
||||
Ang = Angle(0.202, 0.017, 0),
|
||||
Magnification = 1.1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
}
|
||||
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "shotgun"
|
||||
SWEP.HoldtypeSights = "ar2"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_SHOTGUN
|
||||
|
||||
SWEP.ActivePos = Vector(1, 5, 0)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.HolsterPos = Vector(0.532, -6, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.ExtraSightDist = 5
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = "tac",
|
||||
Bone = "v_weapon.M3_PARENT",
|
||||
Offset = {
|
||||
vpos = Vector(0.954, -4.086, -5.138), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(-90, 0, 180),
|
||||
wpos = Vector(28.148, 1, -5),
|
||||
wang = Angle(-6, 0, -180)
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
-- draw
|
||||
-- holster
|
||||
-- reload
|
||||
-- fire
|
||||
-- cycle (for bolt actions)
|
||||
-- append _empty for empty variation
|
||||
|
||||
SWEP.Animations = {
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
Time = 0.4,
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "shoot1",
|
||||
Time = 0.4,
|
||||
},
|
||||
["slam"] = {
|
||||
Source = "slam",
|
||||
Time = 0.75,
|
||||
ShellEjectAt = 0.3,
|
||||
},
|
||||
["cycle"] = {
|
||||
Source = {"pump_1", "pump_2"},
|
||||
Time = 0.75,
|
||||
ShellEjectAt = 0.3,
|
||||
SoundTable = {
|
||||
{s = "weapons/tnweapons/shotgun/shotgun_cock_back.wav", t = 0},
|
||||
{s = "weapons/tnweapons/shotgun/shotgun_cock_forward.wav", t = 0.3},
|
||||
},
|
||||
},
|
||||
["cycle_iron"] = {
|
||||
Source = "pump_iron",
|
||||
Time = 1,
|
||||
ShellEjectAt = 0.3,
|
||||
SoundTable = {
|
||||
{s = "weapons/tnweapons/shotgun/shotgun_cock_back.wav", t = 0},
|
||||
{s = "weapons/tnweapons/shotgun/shotgun_cock_forward.wav", t = 0.3},
|
||||
},
|
||||
},
|
||||
["sgreload_start"] = {
|
||||
Source = "reload_start",
|
||||
Time = 1,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
LHIK = true,
|
||||
LHIKIn = 1.5,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{s = "weapons/tfa_ins2/m590/m590_shell.wav", t = 0.35},
|
||||
},
|
||||
},
|
||||
["sgreload_start_empty"] = {
|
||||
Source = "reload_start_dry",
|
||||
Time = 2,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{s = "weapons/tfa_ins2/m590/m590_shell.wav", t = 0.35},
|
||||
{s = "weapons/tfa_ins2/m590/m590_boltback.wav", t = 1.3},
|
||||
{s = "weapons/tfa_ins2/m590/m590_boltrelease.wav", t = 1.5},
|
||||
},
|
||||
},
|
||||
["sgreload_insert"] = {
|
||||
Source = "reload",
|
||||
Time = 0.75,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
TPAnimStartTime = 0.3,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{s = "weapons/tfa_ins2/m590/m590_shell.wav", t = 0.35},
|
||||
},
|
||||
},
|
||||
["sgreload_finish"] = {
|
||||
Source = "reload_finish",
|
||||
Time = 0.7,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.4,
|
||||
},
|
||||
["sgreload_finish_empty"] = {
|
||||
Source = "reload_finish",
|
||||
Time = 0.7,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 1,
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,308 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Overwatch Weapons" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "Suppressor LMG"
|
||||
SWEP.TrueName = "Suppressor LMG"
|
||||
SWEP.Trivia_Class = "Light Machine Gun"
|
||||
SWEP.Trivia_Desc = "The Combine Suppressor uses this weapon effectively when it comes to his job title. it can deal massive damage due to it's fast firerate. However it's barrel overheating will cause it to have poor accuracy. Thus, this weapon is most effective in CQC."
|
||||
SWEP.Trivia_Manufacturer = "Overwatch"
|
||||
SWEP.Trivia_Calibre = "Big Ass Bullet"
|
||||
SWEP.Trivia_Mechanism = "Plasma Pulse Shit"
|
||||
SWEP.Trivia_Country = "Bulgaria"
|
||||
SWEP.Trivia_Year = 2015
|
||||
|
||||
SWEP.Slot = 2
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then
|
||||
SWEP.PrintName = SWEP.TrueName
|
||||
SWEP.Trivia_Manufacturer = "Suppressor LMG"
|
||||
end
|
||||
|
||||
SWEP.UseHands = true
|
||||
SWEP.ViewModel = "models/weapons/c_suppressor.mdl"
|
||||
SWEP.WorldModel = "models/weapons/w_suppressor.mdl"
|
||||
SWEP.ViewModelFOV = 55
|
||||
SWEP.DefaultBodygroups = "0000000"
|
||||
|
||||
SWEP.Damage = 10
|
||||
SWEP.DamageMin = 10 -- damage done at maximum range
|
||||
SWEP.Range = 120 -- in METRES
|
||||
SWEP.Penetration = 22
|
||||
SWEP.DamageType = DMG_AIRBOAT
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 1800 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
|
||||
SWEP.TracerNum = 1 -- tracer every X
|
||||
SWEP.TracerCol = Color(255, 25, 25)
|
||||
SWEP.TracerWidth = 6
|
||||
|
||||
SWEP.ChamberSize = 0 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 150 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 200
|
||||
SWEP.ReducedClipSize = 75
|
||||
|
||||
|
||||
SWEP.Recoil = 0.8
|
||||
SWEP.RecoilSide = 0.75
|
||||
SWEP.RecoilRise = 1
|
||||
|
||||
SWEP.Delay = 60 / 700 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 2
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NotForNPCS = true
|
||||
SWEP.NPCWeaponType = {"weapon_shotgun"}
|
||||
SWEP.NPCWeight = 50
|
||||
|
||||
SWEP.AccuracyMOA = 50 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 300 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 200
|
||||
|
||||
SWEP.ShootWhileSprint = false
|
||||
|
||||
SWEP.Primary.Ammo = "ar2" -- what ammo type the gun uses
|
||||
SWEP.MagID = "Pulse LMG" -- the magazine pool this gun draws from
|
||||
SWEP.ShootVol = 120 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 90 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "fire2.wav"
|
||||
SWEP.ShootSoundSilenced = "weapons/arccw/m4a1/m4a1_silencer_01.wav"
|
||||
SWEP.DistantShootSound = "weapons/arccw/ak47/ak47-1-distant.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_minimi"
|
||||
SWEP.ShellModel = ""
|
||||
SWEP.ShellScale = 0
|
||||
SWEP.ShellMaterial = ""
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.SpeedMult = 0.75
|
||||
SWEP.SightedSpeedMult = 0.6
|
||||
SWEP.SightTime = 0.33
|
||||
SWEP.VisualRecoilMult = 1
|
||||
SWEP.RecoilRise = 1
|
||||
|
||||
SWEP.BulletBones = { -- the bone that represents bullets in gun/mag
|
||||
-- [0] = "bulletchamber",
|
||||
-- [1] = "bullet1"
|
||||
}
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.CaseBones = {}
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-4, -4, 0),
|
||||
Ang = Angle(0, 0, 0),
|
||||
Magnification = 1.1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "shotgun"
|
||||
SWEP.HoldtypeSights = "ar2"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
SWEP.ActivePos = Vector(0, 3, 0)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.HolsterPos = Vector(0.532, -6, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.BarrelLength = 34
|
||||
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["extendedmag"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 1}},
|
||||
WMBodygroups = {{ind = 1, bg = 1}},
|
||||
},
|
||||
["reducedmag"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 2}},
|
||||
WMBodygroups = {{ind = 1, bg = 2}},
|
||||
},
|
||||
["nors"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 2, bg = 1},
|
||||
{ind = 3, bg = 1},
|
||||
},
|
||||
},
|
||||
["nobrake"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 6, bg = 1},
|
||||
},
|
||||
},
|
||||
["pwraith"] = {
|
||||
VMBodygroups = {},
|
||||
WMBodygroups = {},
|
||||
TrueNameChange = "Suppressor LMG",
|
||||
NameChange = "Hell's Wraith"
|
||||
},
|
||||
["mount"] = {
|
||||
VMElements = {
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.ExtraSightDist = 5
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Muzzle",
|
||||
DefaultAttName = "Standard Muzzle",
|
||||
Slot = "muzzle",
|
||||
Bone = "suppressor",
|
||||
Offset = {
|
||||
vpos = Vector(-1.5, -20, 0),
|
||||
vang = Angle(0, 80, 90),
|
||||
wpos = Vector(0, 0, 0),
|
||||
wang = Angle(0, 0, 0)
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = {"ubgl", "bipod"},
|
||||
Bone = "suppressor",
|
||||
Offset = {
|
||||
vpos = Vector(-4, -10, 1),
|
||||
vang = Angle(0, 80, 90),
|
||||
wpos = Vector(0, 0, 0),
|
||||
wang = Angle(0, 0, 0)
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
Slot = "ammo_bullet"
|
||||
},
|
||||
{
|
||||
PrintName = "Perk",
|
||||
Slot = "perk"
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle",
|
||||
Time = 1
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
Time = 1,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
["holster"] = {
|
||||
Source = "holster",
|
||||
Time = 0.4,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "idle",
|
||||
Time = 1,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
["fire"] = {
|
||||
Source = {"fire"},
|
||||
Time = 0.5,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "fire",
|
||||
Time = 0.5,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
Time = 4,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Framerate = 37,
|
||||
Checkpoints = {28, 38, 69},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload",
|
||||
Time = 4,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Framerate = 37,
|
||||
Checkpoints = {28, 38, 69},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
}
|
||||
|
||||
local soundData = {
|
||||
name = "Weapon_Swing" ,
|
||||
channel = CHAN_WEAPON,
|
||||
volume = 0.5,
|
||||
soundlevel = 80,
|
||||
pitchstart = 100,
|
||||
pitchend = 100,
|
||||
sound = "draw_minigun_heavy.wav"
|
||||
}
|
||||
sound.Add(soundData)
|
||||
|
||||
local soundData = {
|
||||
name = "Weapon_Swing2" ,
|
||||
channel = CHAN_WEAPON,
|
||||
volume = 0.5,
|
||||
soundlevel = 80,
|
||||
pitchstart = 100,
|
||||
pitchend = 100,
|
||||
sound = "draw_default.wav"
|
||||
}
|
||||
sound.Add(soundData)
|
||||
|
||||
local soundData = {
|
||||
name = "Magazine.Out" ,
|
||||
channel = CHAN_WEAPON,
|
||||
volume = 0.5,
|
||||
soundlevel = 80,
|
||||
pitchstart = 100,
|
||||
pitchend = 100,
|
||||
sound = "sniper_military_slideback_1.wav"
|
||||
}
|
||||
sound.Add(soundData)
|
||||
|
||||
local soundData = {
|
||||
name = "Magazine.In" ,
|
||||
channel = CHAN_WEAPON,
|
||||
volume = 0.5,
|
||||
soundlevel = 80,
|
||||
pitchstart = 100,
|
||||
pitchend = 100,
|
||||
sound = "sniper_military_slideforward_1.wav"
|
||||
}
|
||||
sound.Add(soundData)
|
||||
@@ -0,0 +1,648 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true
|
||||
SWEP.Category = "Willard - Oldie Weaponry"
|
||||
SWEP.UC_CategoryPack = "1Urban Decay"
|
||||
SWEP.AdminOnly = false
|
||||
SWEP.UseHands = true
|
||||
|
||||
-- Muzzle and shell effects --
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_shotgun"
|
||||
SWEP.ShellEffect = "arccw_uc_shelleffect"
|
||||
SWEP.ShellModel = "models/weapons/arccw/uc_shells/12g.mdl"
|
||||
SWEP.ShellPitch = 100
|
||||
SWEP.ShellSounds = ArcCW.ShotgunShellSoundsTable
|
||||
SWEP.ShellScale = 1
|
||||
SWEP.UC_ShellColor = Color(0.7*255, 0.2*255, 0.2*255)
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1
|
||||
SWEP.CaseEffectAttachment = 2
|
||||
SWEP.CamAttachment = 3
|
||||
|
||||
-- Fake name --
|
||||
|
||||
SWEP.PrintName = "Express-12"
|
||||
|
||||
-- True name --
|
||||
|
||||
SWEP.TrueName = "Remington 870"
|
||||
|
||||
-- Trivia --
|
||||
|
||||
SWEP.Trivia_Class = "Shotgun"
|
||||
SWEP.Trivia_Desc = "Classic pump-action shotgun, renowned for its high quality parts and assembly. A simple firearm with a simple purpose. Marketed primarily to civilians for use in hunting game and self-defense, but it has found popularity among police departments for a relatively innocuous appearance and ability to accept custom loaded less-lethal shells."
|
||||
SWEP.Trivia_Manufacturer = "Mauer Armaments"
|
||||
SWEP.Trivia_Calibre = "12 Gauge"
|
||||
SWEP.Trivia_Mechanism = "Pump Action"
|
||||
SWEP.Trivia_Country = "USA"
|
||||
SWEP.Trivia_Year = 1950
|
||||
|
||||
-- Weapon slot --
|
||||
|
||||
SWEP.Slot = 3
|
||||
|
||||
-- Weapon's manufacturer real name --
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then
|
||||
SWEP.PrintName = SWEP.TrueName
|
||||
SWEP.Trivia_Manufacturer = "Remington Arms"
|
||||
end
|
||||
|
||||
-- Viewmodel / Worldmodel / FOV --
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arccw/c_ud_870.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arccw/c_ud_870.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_SHOTGUN
|
||||
SWEP.DefaultBodygroups = "000000000"
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-5.5, 5, -5.5),
|
||||
ang = Angle(-12, 0, 180),
|
||||
bone = "ValveBiped.Bip01_R_Hand",
|
||||
scale = 1 - ( 0.35 * 0.5 )
|
||||
}
|
||||
|
||||
-- Damage parameters --
|
||||
|
||||
SWEP.Damage = 9
|
||||
SWEP.DamageMin = 9
|
||||
SWEP.Penetration = 1
|
||||
SWEP.Num = 8
|
||||
|
||||
SWEP.Range = 45
|
||||
SWEP.RangeMin = 5
|
||||
SWEP.DamageType = DMG_BUCKSHOT
|
||||
SWEP.ShootEntity = nil
|
||||
SWEP.MuzzleVelocity = 200
|
||||
|
||||
SWEP.HullSize = 0.5
|
||||
|
||||
SWEP.BodyDamageMults = ArcCW.UC.BodyDamageMults_Shotgun
|
||||
|
||||
-- Mag size --
|
||||
|
||||
SWEP.ChamberSize = 1
|
||||
SWEP.Primary.ClipSize = 6
|
||||
SWEP.ExtendedClipSize = 8
|
||||
SWEP.ReducedClipSize = 6
|
||||
|
||||
-- Recoil --
|
||||
|
||||
SWEP.Recoil = 2.5
|
||||
SWEP.RecoilSide = 2
|
||||
|
||||
SWEP.RecoilRise = 0.3
|
||||
SWEP.VisualRecoilMult = 1
|
||||
SWEP.MaxRecoilBlowback = 1
|
||||
SWEP.MaxRecoilPunch = 1
|
||||
|
||||
SWEP.Sway = 0.5
|
||||
|
||||
-- Firerate / Firemodes --
|
||||
|
||||
SWEP.Delay = 60 / 120
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
PrintName = "fcg.pump",
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NoLastCycle = true
|
||||
SWEP.ManualAction = true
|
||||
SWEP.ShotgunReload = true
|
||||
|
||||
SWEP.ShootVol = 160
|
||||
SWEP.ShootPitch = 100
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.ReloadInSights = true
|
||||
|
||||
-- NPC --
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_shotgun"
|
||||
SWEP.NPCWeight = 210
|
||||
|
||||
-- Accuracy --
|
||||
|
||||
SWEP.AccuracyMOA = 40
|
||||
SWEP.HipDispersion = 250
|
||||
SWEP.MoveDispersion = 250
|
||||
SWEP.JumpDispersion = 300
|
||||
|
||||
SWEP.Primary.Ammo = "buckshot"
|
||||
|
||||
-- Speed multipliers --
|
||||
|
||||
SWEP.SpeedMult = 0.91
|
||||
SWEP.SightedSpeedMult = 0.75
|
||||
SWEP.SightTime = 0.3
|
||||
SWEP.ShootSpeedMult = 0.75
|
||||
|
||||
-- Length --
|
||||
|
||||
SWEP.BarrelLength = 32
|
||||
SWEP.ExtraSightDist = 2
|
||||
|
||||
-- Ironsights / Customization / Poses --
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-3.66, -3, 2.2),
|
||||
Ang = Angle(-0.75, 0, 2.8),
|
||||
Magnification = 1.1,
|
||||
SwitchToSound = "",
|
||||
}
|
||||
|
||||
SWEP.HolsterPos = Vector(2, 0, -2)
|
||||
SWEP.HolsterAng = Angle(-5.5, 20, -20)
|
||||
|
||||
SWEP.SprintPos = Vector(-0.5, -4, -2)
|
||||
SWEP.SprintAng = Angle(3.5, 7, -20)
|
||||
|
||||
SWEP.ActivePos = Vector(-0.75, -2, 1)
|
||||
SWEP.ActiveAng = Angle(0, 0, -3)
|
||||
|
||||
SWEP.CrouchPos = Vector(-3.8, -2, 0)
|
||||
SWEP.CrouchAng = Angle(0, 0, -30)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(3, 0, -4)
|
||||
|
||||
|
||||
|
||||
SWEP.Malfunction = false
|
||||
SWEP.MalfunctionTakeRound = false
|
||||
SWEP.MalfunctionMean = 500
|
||||
SWEP.MalfunctionVariance = 0.99
|
||||
-- Firing sounds --
|
||||
|
||||
local path = ")weapons/arccw_ud/870/"
|
||||
local common = ")/arccw_uc/common/"
|
||||
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 = path .. "fire_dist.ogg"
|
||||
SWEP.DistantShootSoundSilenced = common .. "sup_tail.ogg"]]
|
||||
SWEP.ShootDrySound = {path .. "mech-01.ogg", path .. "mech-02.ogg", path .. "mech-03.ogg", path .. "mech-04.ogg", path .. "mech-05.ogg", path .. "mech-06.ogg"}
|
||||
|
||||
local tail = ")/arccw_uc/common/12ga/"
|
||||
|
||||
SWEP.DistantShootSoundOutdoors = {
|
||||
tail .. "fire-dist-12ga-pasg-ext-01.ogg",
|
||||
tail .. "fire-dist-12ga-pasg-ext-02.ogg",
|
||||
tail .. "fire-dist-12ga-pasg-ext-03.ogg",
|
||||
tail .. "fire-dist-12ga-pasg-ext-04.ogg",
|
||||
tail .. "fire-dist-12ga-pasg-ext-05.ogg",
|
||||
tail .. "fire-dist-12ga-pasg-ext-06.ogg"
|
||||
}
|
||||
SWEP.DistantShootSoundIndoors = {
|
||||
common .. "fire-dist-int-shotgun-01.ogg",
|
||||
common .. "fire-dist-int-shotgun-02.ogg",
|
||||
common .. "fire-dist-int-shotgun-03.ogg",
|
||||
common .. "fire-dist-int-shotgun-04.ogg",
|
||||
common .. "fire-dist-int-shotgun-05.ogg",
|
||||
common .. "fire-dist-int-shotgun-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 = 1
|
||||
SWEP.Hook_AddShootSound = ArcCW.UC.InnyOuty
|
||||
|
||||
SWEP.Hook_Think = ArcCW.UC.ADSReload
|
||||
|
||||
local shellin = {path .. "shell-insert-01.ogg", path .. "shell-insert-02.ogg", path .. "shell-insert-03.ogg"}
|
||||
|
||||
SWEP.Animations = {
|
||||
["ready"] = {
|
||||
Source = "sgreload_finish_empty",
|
||||
Time = 37 / 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKEaseOut = 1.2,
|
||||
LHIKOut = 1.4,
|
||||
SoundTable = {
|
||||
{s = common .. "raise.ogg", t = 0.2},
|
||||
{s = common .. "rattle.ogg", t = 0.2},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.5},
|
||||
{s = path .. "rack_1.ogg", t = 0.4},
|
||||
{s = path .. "rack_2.ogg", t = 0.6},
|
||||
{s = common .. "shoulder.ogg", t = 0.9},
|
||||
},
|
||||
ProcDraw = true,
|
||||
},
|
||||
["idle"] = {
|
||||
Source = "idle",
|
||||
},
|
||||
["idle_empty"] = {
|
||||
Source = "idle",
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
Time = 20 / 30,
|
||||
SoundTable = ArcCW.UC.DrawSounds,
|
||||
},
|
||||
["holster"] = {
|
||||
Source = "holster",
|
||||
Time = 20 / 30,
|
||||
SoundTable = ArcCW.UC.HolsterSounds,
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "fire",
|
||||
--Time = 23 / 30,
|
||||
MinProgress = 8 / 30,
|
||||
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",
|
||||
--Time = 23 / 30,
|
||||
MinProgress = 8 / 30,
|
||||
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 }},
|
||||
},
|
||||
["cycle"] = {
|
||||
Source = "cycle",
|
||||
--Time = 20 / 30,
|
||||
ShellEjectAt = 0.1,
|
||||
MinProgress = 0.26,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0},
|
||||
{s = path .. "rack_1.ogg", t = 0},
|
||||
{s = path .. "eject.ogg", t = 0.1},
|
||||
{s = path .. "rack_2.ogg", t = 0.11},
|
||||
},
|
||||
},
|
||||
|
||||
["cycle_jammed"] = {
|
||||
Source = "jamcycle",
|
||||
--Time = 20 / 30,
|
||||
ShellEjectAt = 0.1,
|
||||
MinProgress = 0.26,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0},
|
||||
{s = path .. "rack_1.ogg", t = 0},
|
||||
{s = path .. "eject.ogg", t = 0.1},
|
||||
{s = path .. "rack_2.ogg", t = 0.11},
|
||||
},
|
||||
},
|
||||
|
||||
["fix"] = {
|
||||
Source = "fix",
|
||||
Time = 50 / 30,
|
||||
ShellEjectAt = 0.7, -- should make the shell eject offscreen cuz the anim already has it
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.5},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 1},
|
||||
{s = path .. "rack_1.ogg", t = 0.6},
|
||||
{s = path .. "eject.ogg", t = 0.7},
|
||||
{s = path .. "rack_2.ogg", t = 0.9},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 1.7},
|
||||
}
|
||||
},
|
||||
["sgreload_start"] = {
|
||||
Source = "sgreload_start",
|
||||
Time = 16 / 30,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0},
|
||||
{s = common .. "shoulder.ogg", t = 0.1},
|
||||
},
|
||||
},
|
||||
["sgreload_insert"] = {
|
||||
Source = "sgreload_insert",
|
||||
Time = 18 / 30,
|
||||
MinProgress = 0.24,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
TPAnimStartTime = 0.3,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{s = shellin, t = 0},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0},
|
||||
},
|
||||
},
|
||||
["sgreload_finish"] = {
|
||||
Source = "sgreload_finish",
|
||||
Time = 20 / 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKEaseOut = 0.3,
|
||||
LHIKOut = 0.4,
|
||||
TPAnimStartTime = 0.8,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0},
|
||||
{s = common .. "shoulder.ogg", t = 0.27},
|
||||
},
|
||||
},
|
||||
["sgreload_finish_empty"] = {
|
||||
Source = "sgreload_finish_empty",
|
||||
Time = 37 / 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKEaseOut = 0.6,
|
||||
LHIKOut = 0.8,
|
||||
TPAnimStartTime = 0.5,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
ShellEjectAt = 0.5,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.5},
|
||||
{s = path .. "rack_1.ogg", t = 0.4},
|
||||
{s = path .. "eject.ogg", t = 0.5},
|
||||
{s = path .. "rack_2.ogg", t = 0.525},
|
||||
{s = common .. "shoulder.ogg", t = 0.9},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Hook_ModifyBodygroups = function(wep, data)
|
||||
local vm = data.vm
|
||||
if !IsValid(vm) then return end
|
||||
-- if wep.Attachments[1].Installed then
|
||||
-- vm:SetBodygroup(8, 2)
|
||||
-- elseif wep.Attachments[2].Installed == "ud_870_barrel_long" then
|
||||
-- vm:SetBodygroup(8, 1)
|
||||
-- else
|
||||
-- vm:SetBodygroup(8, 0)
|
||||
-- end
|
||||
|
||||
-- 8rnd tube and either barrel should remove the clamp
|
||||
if vm:GetBodygroup(7) == 1 and vm:GetBodygroup(1) != 0 then
|
||||
vm:SetBodygroup(7, 2)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
SWEP.BulletBones = {
|
||||
[0] = "870_shell1",
|
||||
}
|
||||
|
||||
SWEP.DefaultSkin = 1
|
||||
|
||||
-- Bodygroups --
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["ud_870_optic_ringsight"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 8, bg = 1},
|
||||
},
|
||||
Override_IronSightStruct = {
|
||||
Pos = Vector(-3.665, -2.75, 2.1),
|
||||
Ang = Angle(-0.6, 0, 1),
|
||||
Magnification = 1.1,
|
||||
SwitchToSound = "",
|
||||
},
|
||||
},
|
||||
["optic_rail"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 8, bg = 2},
|
||||
}
|
||||
},
|
||||
["ud_shotgun_rail_fg"] = {
|
||||
VMBodygroups = {{ind = 3, bg = 1}},
|
||||
},
|
||||
["ud_870_slide_moe"] = {
|
||||
VMBodygroups = {{ind = 6, bg = 1}},
|
||||
},
|
||||
["ud_870_slide_long"] = {
|
||||
VMBodygroups = {{ind = 6, bg = 2}},
|
||||
},
|
||||
["ud_870_slide_poly"] = {
|
||||
VMBodygroups = {{ind = 6, bg = 3}},
|
||||
},
|
||||
["ud_shotgun_rail_fg"] = {
|
||||
VMBodygroups = {{ind = 3, bg = 1}},
|
||||
},
|
||||
["ud_870_barrel_long"] = {
|
||||
AttPosMods = {
|
||||
[3] = {
|
||||
vpos = Vector(-0.03, -0.65, 39.5),
|
||||
}
|
||||
},
|
||||
VMBodygroups = {
|
||||
{ind = 1, bg = 1},
|
||||
},
|
||||
},
|
||||
["ud_870_barrel_sawnoff"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 1, bg = 2},
|
||||
{ind = 7, bg = 2}
|
||||
},
|
||||
AttPosMods = {
|
||||
[3] = {
|
||||
vpos = Vector(-0.03, -0.9, 19),
|
||||
}
|
||||
},
|
||||
},
|
||||
["ud_870_tube_reduced"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 2, bg = 2},
|
||||
{ind = 7, bg = 2}
|
||||
},
|
||||
},
|
||||
["ud_870_tube_ext"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 2, bg = 1},
|
||||
{ind = 7, bg = 1}
|
||||
},
|
||||
},
|
||||
["ud_870_stock_poly"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 1}},
|
||||
},
|
||||
["ud_870_stock_sawnoff"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 2}},
|
||||
},
|
||||
["ud_870_stock_raptor"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 3}},
|
||||
},
|
||||
|
||||
["ud_870_skin_dirty"] = {
|
||||
VMSkin = 0
|
||||
},
|
||||
["ud_870_skin_custom"] = {
|
||||
VMSkin = 3
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic",
|
||||
DefaultAttName = "Iron Sights",
|
||||
Slot = {"optic_lp","optic","optic_sniper","ud_870_optic"},
|
||||
Bone = "870_parent",
|
||||
Offset = {
|
||||
vpos = Vector(0, -1.75, -2),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
VMScale = Vector(1, 1, 1),
|
||||
CorrectiveAng = Angle(1.8, 0.1, 0),
|
||||
InstalledEles = {"optic_rail"}
|
||||
},
|
||||
{
|
||||
PrintName = "Barrel",
|
||||
DefaultAttName = "16\" Standard Barrel",
|
||||
DefaultAttIcon = Material("entities/att/acwatt_ud_870_barrel.png", "smooth mips"),
|
||||
Slot = "ud_870_barrel",
|
||||
},
|
||||
{
|
||||
PrintName = "Muzzle",
|
||||
DefaultAttName = "Standard Muzzle",
|
||||
Slot = {"choke", "muzzle_shotgun"},
|
||||
Bone = "870_parent",
|
||||
Offset = {
|
||||
vpos = Vector(-0.03, -0.75, 26.3),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Forend",
|
||||
DefaultAttName = "Factory Forend",
|
||||
DefaultAttIcon = Material("entities/att/acwatt_ud_870_slide.png", "smooth mips"),
|
||||
Slot = {"ud_870_slide"},
|
||||
Bone = "870_slide",
|
||||
Offset = {
|
||||
vpos = Vector(3, -4.4, -29),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = {"foregrip"},
|
||||
Bone = "870_slide",
|
||||
Offset = {
|
||||
vpos = Vector(0, 1.1, 0),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
InstalledEles = {"ud_shotgun_rail_fg"}
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = {"tac_pistol"},
|
||||
Bone = "870_slide",
|
||||
Offset = {
|
||||
vpos = Vector(0, 1, 4.25),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Stock",
|
||||
DefaultAttName = "Wooden Stock",
|
||||
DefaultAttIcon = Material("entities/att/acwatt_ud_870_stock.png", "smooth mips"),
|
||||
Slot = {"ud_870_stock"},
|
||||
},
|
||||
{
|
||||
PrintName = "Tube Type",
|
||||
Slot = {"ud_870_tube"},
|
||||
DefaultAttName = "6 Shell Tube",
|
||||
DefaultAttIcon = Material("entities/att/acwatt_ud_870_tube.png", "smooth mips"),
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
DefaultAttName = "\"BUCK\" #00 Buckshot",
|
||||
DefaultAttIcon = Material("entities/att/arccw_uc_ammo_shotgun_generic.png", "mips smooth"),
|
||||
Slot = "ud_ammo_shotgun",
|
||||
},
|
||||
{
|
||||
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 = "870_parent",
|
||||
Offset = {
|
||||
vpos = Vector(0.7, 0, 5),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Skin",
|
||||
Slot = "ud_870_skin",
|
||||
DefaultAttName = "Polished Steel",
|
||||
FreeSlot = true
|
||||
}
|
||||
}
|
||||
|
||||
local lookup_barrel = {
|
||||
default = 1,
|
||||
ud_870_barrel_long = 2,
|
||||
ud_870_barrel_sawnoff = 0,
|
||||
}
|
||||
|
||||
local lookup_tube = {
|
||||
default = 1,
|
||||
ud_870_tube_ext = 2,
|
||||
ud_870_tube_reduced = 0,
|
||||
}
|
||||
|
||||
SWEP.Hook_ExtraFlags = function(wep, data)
|
||||
|
||||
local barrel = wep.Attachments[2].Installed and lookup_barrel[wep.Attachments[2].Installed] or lookup_barrel["default"]
|
||||
local tube = wep.Attachments[8].Installed and lookup_tube[wep.Attachments[8].Installed] or lookup_tube["default"]
|
||||
|
||||
if barrel < tube then
|
||||
table.insert(data, "nomuzzleblocking")
|
||||
end
|
||||
end
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,783 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true
|
||||
SWEP.Category = "Willard - Modern Weaponry"
|
||||
SWEP.UC_CategoryPack = "1Urban Decay"
|
||||
SWEP.AdminOnly = false
|
||||
SWEP.UseHands = true
|
||||
|
||||
-- Muzzle and shell effects --
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_shotgun"
|
||||
SWEP.ShellEffect = "arccw_uc_shelleffect"
|
||||
SWEP.ShellModel = "models/weapons/arccw/uc_shells/12g.mdl"
|
||||
SWEP.ShellPitch = 100
|
||||
SWEP.ShellSounds = ArcCW.ShotgunShellSoundsTable
|
||||
SWEP.ShellScale = 1
|
||||
SWEP.UC_ShellColor = Color(0.7*255, 0.2*255, 0.2*255)
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1
|
||||
SWEP.CaseEffectAttachment = 2
|
||||
SWEP.CamAttachment = 3
|
||||
|
||||
-- Fake name --
|
||||
|
||||
SWEP.PrintName = "FC1040"
|
||||
|
||||
-- True name --
|
||||
|
||||
SWEP.TrueName = "Benelli M4"
|
||||
|
||||
-- Trivia --
|
||||
|
||||
SWEP.Trivia_Class = "Shotgun"
|
||||
SWEP.Trivia_Desc = [[Semi-automatic shotgun designed for close-quarters urban warfare. Uses an innovative short-stroke gas system that eliminates complex mechanisms found on most gas-operated automatic weapons. Its main use is in destroying locked doors.
|
||||
|
||||
Devastating damage output, but control is required to avoid spending more time reloading than fighting.]]
|
||||
SWEP.Trivia_Manufacturer = "Iscapelli Armaments"
|
||||
SWEP.Trivia_Calibre = "12 Gauge"
|
||||
SWEP.Trivia_Mechanism = "Gas-Operated Rotating Bolt"
|
||||
SWEP.Trivia_Country = "Italy"
|
||||
SWEP.Trivia_Year = 1998
|
||||
|
||||
-- Weapon slot --
|
||||
|
||||
SWEP.Slot = 3
|
||||
|
||||
-- Weapon's manufacturer real name --
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then
|
||||
SWEP.PrintName = SWEP.TrueName
|
||||
SWEP.Trivia_Manufacturer = "Benelli Armi SpA"
|
||||
end
|
||||
|
||||
-- Viewmodel / Worldmodel / FOV --
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arccw/c_ud_m1014.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arccw/c_ud_m1014.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_SHOTGUN
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-4, 4, -4.5),
|
||||
ang = Angle(-12, 0, 180),
|
||||
bone = "ValveBiped.Bip01_R_Hand",
|
||||
scale = 1
|
||||
}
|
||||
SWEP.DefaultPoseParams = {["grip"] = 0}
|
||||
|
||||
-- Damage parameters --
|
||||
|
||||
|
||||
SWEP.Damage = 9
|
||||
SWEP.DamageMin = 9
|
||||
SWEP.Penetration = ArcCW.UC.StdDmg["12g_s"].pen
|
||||
SWEP.Num = 8
|
||||
|
||||
SWEP.Range = 90
|
||||
SWEP.RangeMin = 4
|
||||
SWEP.DamageType = DMG_BUCKSHOT
|
||||
SWEP.ShootEntity = nil
|
||||
SWEP.MuzzleVelocity = 200
|
||||
|
||||
SWEP.HullSize = 0.25
|
||||
|
||||
SWEP.BodyDamageMults = ArcCW.UC.BodyDamageMults_Shotgun
|
||||
|
||||
-- Jamming --
|
||||
|
||||
SWEP.Malfunction = false
|
||||
SWEP.MalfunctionJam = false
|
||||
SWEP.MalfunctionPostFire = false
|
||||
SWEP.MalfunctionTakeRound = false
|
||||
|
||||
-- Mag size --
|
||||
|
||||
SWEP.ChamberSize = 2
|
||||
SWEP.Primary.ClipSize = 4
|
||||
SWEP.ExtendedClipSize = 7
|
||||
SWEP.ReducedClipSize = 2
|
||||
|
||||
SWEP.ChamberLoadNonEmpty = 2
|
||||
SWEP.ChamberLoadEmpty = 1
|
||||
|
||||
-- Recoil --
|
||||
|
||||
SWEP.Recoil = 2.5
|
||||
SWEP.RecoilSide = 2
|
||||
|
||||
SWEP.RecoilRise = 0.24
|
||||
SWEP.VisualRecoilMult = 1
|
||||
SWEP.MaxRecoilBlowback = 1
|
||||
SWEP.MaxRecoilPunch = 1
|
||||
|
||||
SWEP.Sway = 0.5
|
||||
|
||||
-- Firerate / Firemodes --
|
||||
|
||||
SWEP.Delay = 60 / 120
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.ShotgunReload = true
|
||||
|
||||
SWEP.ShootVol = 160
|
||||
SWEP.ShootPitch = 100
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.ReloadInSights = true
|
||||
|
||||
-- NPC --
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_shotgun"
|
||||
SWEP.NPCWeight = 210
|
||||
|
||||
-- Accuracy --
|
||||
|
||||
SWEP.AccuracyMOA = 45
|
||||
SWEP.HipDispersion = 400
|
||||
SWEP.MoveDispersion = 100
|
||||
SWEP.JumpDispersion = 1000
|
||||
|
||||
SWEP.Primary.Ammo = "buckshot"
|
||||
|
||||
-- Speed multipliers --
|
||||
|
||||
SWEP.SpeedMult = 0.92
|
||||
SWEP.SightedSpeedMult = 0.6
|
||||
SWEP.SightTime = 0.4
|
||||
SWEP.ShootSpeedMult = 0.75
|
||||
|
||||
-- Length --
|
||||
|
||||
SWEP.BarrelLength = 48
|
||||
SWEP.ExtraSightDist = 2
|
||||
|
||||
-- Ironsights / Customization / Poses --
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-2.73, -2, 1.1),
|
||||
Ang = Angle(.25, 0.01, 0),
|
||||
Magnification = 1.1,
|
||||
SwitchToSound = "",
|
||||
}
|
||||
|
||||
SWEP.HolsterPos = Vector(2, 0, -3)
|
||||
SWEP.HolsterAng = Angle(-5.5, 20, -20)
|
||||
|
||||
SWEP.SprintPos = Vector(-0.5, -4, -3)
|
||||
SWEP.SprintAng = Angle(3.5, 7, -20)
|
||||
|
||||
SWEP.ActivePos = Vector(-0.1, -0.5, 0.75)
|
||||
SWEP.ActiveAng = Angle(0, 0, -0)
|
||||
|
||||
SWEP.CrouchPos = Vector(-4, -2, 0)
|
||||
SWEP.CrouchAng = Angle(0, 0, -30)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(3, 0, -4.5)
|
||||
|
||||
-- Firing sounds --
|
||||
|
||||
local path2 = ")weapons/arccw_ud/m16/"
|
||||
local path1 = ")weapons/arccw_ud/870/"
|
||||
local path = ")weapons/arccw_ud/m1014/"
|
||||
local common = ")/arccw_uc/common/"
|
||||
SWEP.ShootSound = {
|
||||
path1 .. "fire-01.ogg",
|
||||
path1 .. "fire-02.ogg",
|
||||
path1 .. "fire-03.ogg",
|
||||
path1 .. "fire-04.ogg",
|
||||
path1 .. "fire-05.ogg",
|
||||
path1 .. "fire-06.ogg"
|
||||
}
|
||||
SWEP.ShootSoundSilenced = {
|
||||
path1 .. "fire-sup-01.ogg",
|
||||
path1 .. "fire-sup-02.ogg",
|
||||
path1 .. "fire-sup-03.ogg",
|
||||
path1 .. "fire-sup-04.ogg",
|
||||
path1 .. "fire-sup-05.ogg",
|
||||
path1 .. "fire-sup-06.ogg"
|
||||
}
|
||||
--[[SWEP.DistantShootSound = path .. "fire_dist.ogg"
|
||||
SWEP.DistantShootSoundSilenced = common .. "sup_tail.ogg"]]
|
||||
SWEP.ShootDrySound = path .. "dryfire.ogg"
|
||||
|
||||
local tail = ")/arccw_uc/common/12ga/"
|
||||
|
||||
SWEP.DistantShootSoundOutdoors = {
|
||||
tail .. "fire-dist-12ga-pasg-ext-01.ogg",
|
||||
tail .. "fire-dist-12ga-pasg-ext-02.ogg",
|
||||
tail .. "fire-dist-12ga-pasg-ext-03.ogg",
|
||||
tail .. "fire-dist-12ga-pasg-ext-04.ogg",
|
||||
tail .. "fire-dist-12ga-pasg-ext-05.ogg",
|
||||
tail .. "fire-dist-12ga-pasg-ext-06.ogg"
|
||||
}
|
||||
SWEP.DistantShootSoundIndoors = {
|
||||
common .. "fire-dist-int-shotgun-01.ogg",
|
||||
common .. "fire-dist-int-shotgun-02.ogg",
|
||||
common .. "fire-dist-int-shotgun-03.ogg",
|
||||
common .. "fire-dist-int-shotgun-04.ogg",
|
||||
common .. "fire-dist-int-shotgun-05.ogg",
|
||||
common .. "fire-dist-int-shotgun-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 = 1
|
||||
SWEP.Hook_AddShootSound = ArcCW.UC.InnyOuty
|
||||
|
||||
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"}
|
||||
|
||||
-- Animations --
|
||||
|
||||
SWEP.Hook_Think = ArcCW.UC.ADSReload
|
||||
|
||||
local shellin = {path .. "shell-insert-01.ogg", path .. "shell-insert-02.ogg", path .. "shell-insert-03.ogg"}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle",
|
||||
},
|
||||
["idle_empty"] = {
|
||||
Source = "idle_empty",
|
||||
},
|
||||
["idle_jammed"] = {
|
||||
Source = "idle_jammed",
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "equip",
|
||||
Time = 60 / 30,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0.35},
|
||||
{s = path .. "chback.ogg", t = 0.35},
|
||||
{s = path .. "chamber.ogg", t = 0.6},
|
||||
{s = rottle, t = 0.75},
|
||||
},
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
Time = 30 / 30,
|
||||
SoundTable = ArcCW.UC.DrawSounds,
|
||||
},
|
||||
["draw_empty"] = {
|
||||
Source = "draw_empty",
|
||||
Time = 30 / 30,
|
||||
SoundTable = ArcCW.UC.DrawSounds,
|
||||
},
|
||||
["draw_jammed"] = {
|
||||
Source = "draw_jammed",
|
||||
Time = 30 / 30,
|
||||
SoundTable = ArcCW.UC.DrawSounds,
|
||||
},
|
||||
["holster"] = {
|
||||
Source = "holster",
|
||||
Time = 20 / 30,
|
||||
SoundTable = ArcCW.UC.HolsterSounds,
|
||||
},
|
||||
["holster_empty"] = {
|
||||
Source = "holster_empty",
|
||||
Time = 20 / 30,
|
||||
SoundTable = ArcCW.UC.HolsterSounds,
|
||||
},
|
||||
["holster_jammed"] = {
|
||||
Source = "holster_jammed",
|
||||
Time = 20 / 30,
|
||||
SoundTable = ArcCW.UC.HolsterSounds,
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "fire",
|
||||
Time = 16 / 25,--30,
|
||||
ShellEjectAt = 0.01,
|
||||
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.45}, -- Not temporary
|
||||
{s = path1 .. "eject.ogg", t = 0.01}, -- Not temporary
|
||||
},
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "fire",
|
||||
Time = 18 / 25,--30,
|
||||
ShellEjectAt = 0.01,
|
||||
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}, -- Not temporary
|
||||
{s = path1 .. "eject.ogg", t = 0.01}, -- Not temporary
|
||||
},
|
||||
},
|
||||
["fire_empty"] = {
|
||||
Source = "fire_empty",
|
||||
Time = 18 / 25,--30,
|
||||
ShellEjectAt = 0.01,
|
||||
SoundTable = {
|
||||
{s = path .. "mech_last.ogg", t = 0}, -- Not temporary
|
||||
{s = path1 .. "eject.ogg", t = 0.01}, -- Not temporary
|
||||
},
|
||||
},
|
||||
["fire_iron_empty"] = {
|
||||
Source = "fire_empty",
|
||||
Time = 20 / 25,--30,
|
||||
ShellEjectAt = 0.01,
|
||||
SoundTable = {
|
||||
{s = path .. "mech_last.ogg", t = 0}, -- Not temporary
|
||||
{s = path1 .. "eject.ogg", t = 0.01}, -- Not temporary
|
||||
},
|
||||
},
|
||||
["fire_jammed"] = {
|
||||
Source = "fire_jam",
|
||||
Time = 23 / 25,--30,
|
||||
ShellEjectAt = false,
|
||||
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}, -- Not temporary
|
||||
--{s = path1 .. "eject.ogg", t = 0}, -- Not temporary
|
||||
},
|
||||
},
|
||||
["unjam"] = {
|
||||
Source = "jam_fix",
|
||||
Time = 60 / 30,
|
||||
ShellEjectAt = 0.8,
|
||||
LHIK = false,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0},
|
||||
{s = path2 .. "grab.ogg", t = 0.1},
|
||||
{s = path .. "chback.ogg", t = 0.7},
|
||||
{s = path1 .. "eject.ogg", t = 0.8, v = 0.4},
|
||||
{s = path .. "chamber.ogg", t = 0.9},
|
||||
{s = rottle, t = 1.2},
|
||||
},
|
||||
},
|
||||
["unjam_empty"] = {
|
||||
Source = "jam_fix_empty",
|
||||
Time = 60 / 30,
|
||||
ShellEjectAt = 1.1,
|
||||
LHIK = false,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0},
|
||||
{s = path2 .. "grab.ogg", t = .4},
|
||||
{s = path .. "chback.ogg", t = 0.8},
|
||||
{s = path1 .. "eject.ogg", t = 1.1},
|
||||
{s = rottle, t = 1.2},
|
||||
},
|
||||
},
|
||||
["sgreload_start"] = {
|
||||
Source = "sgreload_start",
|
||||
Time = 16 / 30,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
LHIK = false,
|
||||
//LHIKIn = 0.2,
|
||||
//LHIKEaseIn = 0.2,
|
||||
//LHIKOut = 0,
|
||||
},
|
||||
["sgreload_start_empty"] = {
|
||||
Source = "sgreload_start_empty",
|
||||
Time = 40 / 30,
|
||||
MinProgress = 1,
|
||||
LHIK = false,
|
||||
//LHIKIn = 0.2,
|
||||
//LHIKOut = 0,
|
||||
TPAnimStartTime = 0.5,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0},
|
||||
{s = path .. "breechload.ogg", t = 0.25},
|
||||
{s = path .. "breechclose.ogg", t = 0.9},
|
||||
},
|
||||
ForceEmpty = true,
|
||||
},
|
||||
["sgreload_insert"] = {
|
||||
Source = "sgreload_insert",
|
||||
Time = 18 / 30,
|
||||
MinProgress = 0.24,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
TPAnimStartTime = 0.3,
|
||||
LHIK = false,
|
||||
//LHIKIn = 0,
|
||||
//LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{s = shellin, t = 0},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.05},
|
||||
},
|
||||
},
|
||||
["sgreload_finish"] = {
|
||||
Source = "sgreload_finish",
|
||||
Time = 30 / 30,
|
||||
LHIK = false,
|
||||
//LHIKIn = 0,
|
||||
//LHIKEaseOut = 0.3,
|
||||
//LHIKOut = 0.6,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
TPAnimStartTime = 0.8,
|
||||
SoundTable = {
|
||||
{s = common .. "shoulder.ogg", t = 0.3},
|
||||
},
|
||||
},
|
||||
|
||||
-- stock animla below
|
||||
|
||||
["idle_stock"] = {
|
||||
Source = "idle_stock",
|
||||
},
|
||||
["idle_empty_stock"] = {
|
||||
Source = "idle_empty_stock",
|
||||
},
|
||||
["idle_jammed_stock"] = {
|
||||
Source = "idle_jammed_stock",
|
||||
},
|
||||
["draw_stock"] = {
|
||||
Source = "draw_stock",
|
||||
Time = 20 / 30,
|
||||
SoundTable = ArcCW.UC.DrawSounds,
|
||||
},
|
||||
["draw_empty_stock"] = {
|
||||
Source = "draw_empty_stock",
|
||||
Time = 20 / 30,
|
||||
SoundTable = ArcCW.UC.DrawSounds,
|
||||
},
|
||||
["draw_jammed_stock"] = {
|
||||
Source = "draw_jammed_stock",
|
||||
Time = 20 / 30,
|
||||
SoundTable = ArcCW.UC.DrawSounds,
|
||||
},
|
||||
["holster_stock"] = {
|
||||
Source = "holster_stock",
|
||||
Time = 20 / 30,
|
||||
SoundTable = ArcCW.UC.HolsterSounds,
|
||||
},
|
||||
["holster_empty_stock"] = {
|
||||
Source = "holster_empty_stock",
|
||||
Time = 20 / 30,
|
||||
SoundTable = ArcCW.UC.HolsterSounds,
|
||||
},
|
||||
["holster_jammed_stock"] = {
|
||||
Source = "holster_jammed_stock",
|
||||
Time = 20 / 30,
|
||||
SoundTable = ArcCW.UC.HolsterSounds,
|
||||
},
|
||||
["fire_stock"] = {
|
||||
Source = "fire_stock",
|
||||
Time = 23 / 25,--30,
|
||||
ShellEjectAt = 0.01,
|
||||
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}, -- Not temporary
|
||||
{s = path1 .. "eject.ogg", t = 0.01}, -- Not temporary
|
||||
},
|
||||
},
|
||||
["fire_empty_stock"] = {
|
||||
Source = "fire_empty_stock",
|
||||
Time = 23 / 25,--30,
|
||||
ShellEjectAt = 0.01,
|
||||
SoundTable = {
|
||||
{s = path .. "mech_last.ogg", t = 0}, -- Not temporary
|
||||
{s = path1 .. "eject.ogg", t = 0.01}, -- Not temporary
|
||||
},
|
||||
},
|
||||
["fire_jammed_stock"] = {
|
||||
Source = "fire_jam_stock",
|
||||
Time = 23 / 25,--30,
|
||||
ShellEjectAt = false,
|
||||
SoundTable = {
|
||||
{s = path .. "mech_last.ogg", t = 0}, -- Not temporary
|
||||
--{s = path1 .. "eject.ogg", t = 0}, -- Not temporary
|
||||
},
|
||||
},
|
||||
["unjam_stock"] = {
|
||||
Source = "jam_fix_stock",
|
||||
Time = 60 / 30,
|
||||
ShellEjectAt = 1.1,
|
||||
LHIK = false,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0},
|
||||
{s = path2 .. "grab.ogg", t = .4},
|
||||
{s = path .. "chback.ogg", t = 0.8},
|
||||
{s = path1 .. "eject.ogg", t = 1.1},
|
||||
{s = path .. "breechclose.ogg", t = 0.9},
|
||||
{s = rottle, t = 1.2},
|
||||
},
|
||||
},
|
||||
["unjam_empty_stock"] = {
|
||||
Source = "jam_fix_empty_stock",
|
||||
Time = 60 / 30,
|
||||
ShellEjectAt = 1.1,
|
||||
LHIK = false,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0},
|
||||
{s = path2 .. "grab.ogg", t = .4},
|
||||
{s = path .. "chback.ogg", t = 0.8},
|
||||
{s = path1 .. "eject.ogg", t = 1.1},
|
||||
--{s = path .. "breechclose.ogg", t = 1.2},
|
||||
{s = rottle, t = 1.2},
|
||||
},
|
||||
},
|
||||
["sgreload_start_stock"] = {
|
||||
Source = "sgreload_start_stock",
|
||||
Time = 16 / 30,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
LHIK = false,
|
||||
//LHIKIn = 0.2,
|
||||
//LHIKEaseIn = 0.2,
|
||||
//LHIKOut = 0,
|
||||
},
|
||||
["sgreload_start_empty_stock"] = {
|
||||
Source = "sgreload_start_empty_stock",
|
||||
Time = 40 / 30,
|
||||
MinProgress = 1,
|
||||
LHIK = false,
|
||||
//LHIKIn = 0.2,
|
||||
//LHIKOut = 0,
|
||||
TPAnimStartTime = 0.5,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0},
|
||||
{s = path .. "breechload.ogg", t = 0.05},
|
||||
{s = path .. "breechclose.ogg", t = 0.75},
|
||||
},
|
||||
ForceEmpty = true,
|
||||
},
|
||||
["sgreload_finish_stock"] = {
|
||||
Source = "sgreload_finish_stock",
|
||||
Time = 22 / 30,
|
||||
LHIK = false,
|
||||
//LHIKIn = 0,
|
||||
//LHIKEaseOut = 0.3,
|
||||
//LHIKOut = 0.6,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
TPAnimStartTime = 0.8,
|
||||
SoundTable = {
|
||||
{s = common .. "shoulder.ogg", t = 0.4},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.BulletBones = {
|
||||
--[1] = "1014_shell1",
|
||||
}
|
||||
|
||||
-- Bodygroups --
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["ud_autoshotgun_barrel_short"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 1}},
|
||||
AttPosMods = {
|
||||
[3] = {
|
||||
vpos = Vector(0, -0.40, 19.6),
|
||||
}
|
||||
},
|
||||
},
|
||||
["ud_autoshotgun_barrel_sawnoff"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 2}},
|
||||
AttPosMods = {
|
||||
[3] = {
|
||||
vpos = Vector(-0.03, -0.75, 22.2),
|
||||
}
|
||||
},
|
||||
},
|
||||
["ud_autoshotgun_barrel_sport"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 2}},
|
||||
AttPosMods = {
|
||||
[3] = {
|
||||
vpos = Vector(0, -0.40, 26.3),
|
||||
}
|
||||
},
|
||||
Override_IronSightStruct = {
|
||||
Pos = Vector(-2.73, -2, 1.01),
|
||||
Ang = Angle(0.95, 0.01, 0),
|
||||
Magnification = 1.1
|
||||
},
|
||||
},
|
||||
["ud_autoshotgun_tube_short"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 2, bg = 1},
|
||||
{ind = 4, bg = 1},
|
||||
},
|
||||
},
|
||||
["ud_autoshotgun_tube_long"] = {
|
||||
VMBodygroups = {{ind = 2, bg = 0}},
|
||||
},
|
||||
|
||||
["ud_autoshotgun_stock_in"] = {
|
||||
VMBodygroups = {{ind = 3, bg = 1}},
|
||||
VMPoseParams = {["grip"] = 0}
|
||||
},
|
||||
["ud_autoshotgun_stock_buffer"] = {
|
||||
VMBodygroups = {{ind = 3, bg = 2}},
|
||||
VMPoseParams = {["grip"] = 0}
|
||||
},
|
||||
["ud_autoshotgun_stock_sport"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 3, bg = 3},
|
||||
{ind = 6, bg = 1},
|
||||
},
|
||||
VMPoseParams = {["grip"] = 1}
|
||||
},
|
||||
["ud_autoshotgun_stock_gripstock"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 3, bg = 5},
|
||||
},
|
||||
VMPoseParams = {["grip"] = 0}
|
||||
},
|
||||
|
||||
["ud_m1014_handguard_sport"] = {
|
||||
VMBodygroups = {{ind = 5, bg = 2}},
|
||||
},
|
||||
["ud_autoshotgun_rail_fg"] = {
|
||||
VMBodygroups = {{ind = 5, bg = 1}},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic",
|
||||
DefaultAttName = "Iron Sights",
|
||||
Slot = {"optic_lp", "optic", "optic_sniper"},
|
||||
Bone = "1014_parent",
|
||||
Offset = {
|
||||
vpos = Vector(-0.025, -1.35, 2.5),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Barrel",
|
||||
DefaultAttName = "18.5\" Factory Barrel", --16\" M4 Super 90 SBS Barrel
|
||||
DefaultAttIcon = Material("entities/att/acwatt_ud_m1014_barrel.png", "smooth mips"),
|
||||
Slot = "ud_1014_barrel",
|
||||
},
|
||||
{
|
||||
PrintName = "Muzzle",
|
||||
DefaultAttName = "Standard Muzzle",
|
||||
Slot = {"choke", "muzzle_shotgun"},
|
||||
Bone = "1014_parent",
|
||||
Offset = {
|
||||
vpos = Vector(0, -0.40, 24.5),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
ExcludeFlags = {"nomuzzle"}
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = {"foregrip","ud_1014_handguard"},
|
||||
Bone = "1014_parent",
|
||||
Offset = {
|
||||
vpos = Vector(0, 1.7, 9),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
InstalledEles = {"ud_autoshotgun_rail_fg"},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = {"tac_pistol"},
|
||||
Bone = "1014_parent",
|
||||
Offset = {
|
||||
vpos = Vector(0.8, 0.8, 13),
|
||||
vang = Angle(90, 0, 0),
|
||||
},
|
||||
InstalledEles = {"ud_autoshotgun_rail_fg"},
|
||||
},
|
||||
{
|
||||
PrintName = "Stock",
|
||||
Slot = {"ud_1014_stock"},
|
||||
Bone = "1014_parent",
|
||||
Offset = {
|
||||
vpos = Vector(-0.02, 1.9, -2.07),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
DefaultAttName = "Extended Stock",
|
||||
DefaultAttIcon = Material("entities/att/acwatt_ud_m1014_stock.png", "smooth mips"),
|
||||
},
|
||||
{
|
||||
PrintName = "Tube Type",
|
||||
Slot = {"ud_1014_tube"},
|
||||
DefaultAttName = "4 Shell Tube",
|
||||
DefaultAttIcon = Material("entities/att/acwatt_ud_m1014_tube.png", "smooth mips"),
|
||||
DefaultEles = {"ud_autoshotgun_tube_short"},
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
DefaultAttName = "\"BUCK\" #00 Buckshot",
|
||||
DefaultAttIcon = Material("entities/att/arccw_uc_ammo_shotgun_generic.png", "mips smooth"),
|
||||
Slot = "ud_ammo_shotgun",
|
||||
},
|
||||
{
|
||||
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 = "1014_parent",
|
||||
Offset = {
|
||||
vpos = Vector(0.7, -0.5, 4),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
local lookup_barrel = {
|
||||
default = 1,
|
||||
ud_m1014_barrel_short = 0,
|
||||
}
|
||||
|
||||
local lookup_tube = {
|
||||
default = 0,
|
||||
ud_m1014_tube_ext = 1,
|
||||
}
|
||||
|
||||
SWEP.Hook_ExtraFlags = function(wep, data)
|
||||
|
||||
local barrel = wep.Attachments[2].Installed and lookup_barrel[wep.Attachments[2].Installed] or lookup_barrel["default"]
|
||||
local tube = wep.Attachments[7].Installed and lookup_tube[wep.Attachments[7].Installed] or lookup_tube["default"]
|
||||
|
||||
if barrel < tube then
|
||||
table.insert(data, "nomuzzleblocking")
|
||||
end
|
||||
end
|
||||
1805
gamemodes/darkrp/plugins/arccwbase/entities/weapons/arccw_ud_m16.lua
Normal file
1805
gamemodes/darkrp/plugins/arccwbase/entities/weapons/arccw_ud_m16.lua
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,458 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true
|
||||
SWEP.Category = "Willard - Special Weaponry"
|
||||
SWEP.UC_CategoryPack = "1Urban Decay"
|
||||
SWEP.AdminOnly = false
|
||||
SWEP.UseHands = true
|
||||
|
||||
-- Muzzle and shell effects --
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_m79"
|
||||
SWEP.ShellEffect = "arccw_uc_shelleffect"
|
||||
SWEP.ShellModel = "models/weapons/arccw/ud_shells/12.mdl"
|
||||
SWEP.ShellPitch = 100
|
||||
SWEP.ShellSounds = ArcCW.ShotgunShellSoundsTable
|
||||
SWEP.ShellScale = 0
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1
|
||||
SWEP.CaseEffectAttachment = 3
|
||||
SWEP.CamAttachment = 2
|
||||
|
||||
-- Fake name --
|
||||
|
||||
SWEP.PrintName = "AMSGL"
|
||||
-- (American) Squad Grenade Launcher or something. similar to M16's fake name
|
||||
|
||||
-- True name --
|
||||
|
||||
SWEP.TrueName = "M79"
|
||||
|
||||
-- Trivia --
|
||||
|
||||
SWEP.Trivia_Class = "Grenade Launcher"
|
||||
SWEP.Trivia_Desc = "Single-shot 40mm grenade launcher intended to provide infantry with portable long-range explosive firepower. Accurate, flexible and reliable, it is well-respected among American soldiers."
|
||||
SWEP.Trivia_Manufacturer = "Stoner's Legacy Ltd."
|
||||
SWEP.Trivia_Calibre = "40x46mm"
|
||||
SWEP.Trivia_Mechanism = "Break-action"
|
||||
SWEP.Trivia_Country = "USA"
|
||||
SWEP.Trivia_Year = 1961
|
||||
|
||||
-- Weapon slot --
|
||||
|
||||
SWEP.Slot = 4
|
||||
|
||||
-- Weapon's manufacturer real name --
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then
|
||||
SWEP.PrintName = SWEP.TrueName
|
||||
SWEP.Trivia_Manufacturer = "Springfield Armory"
|
||||
end
|
||||
|
||||
-- Viewmodel / Worldmodel / FOV --
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arccw/c_ud_m79.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arccw/c_ud_m79.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_SHOTGUN
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-8, 5.5, -4.5),
|
||||
ang = Angle(-12, 0, 180),
|
||||
bone = "ValveBiped.Bip01_R_Hand",
|
||||
scale = 1 - ( 0.35 * 0.5 )
|
||||
}
|
||||
|
||||
-- Damage parameters --
|
||||
|
||||
SWEP.Damage = 200
|
||||
SWEP.DamageMin = 200
|
||||
SWEP.Range = 40
|
||||
SWEP.RangeMin = 0
|
||||
|
||||
SWEP.Num = 1
|
||||
SWEP.Penetration = 0
|
||||
|
||||
SWEP.ShootEntity = "arccw_uc_40mm_he"
|
||||
SWEP.MuzzleVelocity = 5000
|
||||
|
||||
-- Mag size --
|
||||
|
||||
SWEP.ChamberSize = 0
|
||||
SWEP.Primary.ClipSize = 1
|
||||
SWEP.ExtendedClipSize = 1
|
||||
SWEP.ReducedClipSize = 1
|
||||
|
||||
-- Recoil --
|
||||
|
||||
SWEP.Recoil = 4
|
||||
SWEP.RecoilSide = 2
|
||||
SWEP.RecoilSide = 1
|
||||
|
||||
SWEP.RecoilRise = 0.24
|
||||
SWEP.VisualRecoilMult = 1
|
||||
SWEP.MaxRecoilBlowback = 1
|
||||
SWEP.MaxRecoilPunch = 1
|
||||
|
||||
SWEP.Sway = 0.5
|
||||
|
||||
-- Firerate / Firemodes --
|
||||
|
||||
SWEP.Delay = 60 / 220
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.ShootVol = 160
|
||||
SWEP.ShootPitch = 100
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
-- NPC --
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_rpg"
|
||||
SWEP.NPCWeight = 210
|
||||
|
||||
-- Accuracy --
|
||||
|
||||
SWEP.AccuracyMOA = 30
|
||||
SWEP.HipDispersion = 500
|
||||
SWEP.MoveDispersion = 200
|
||||
SWEP.JumpDispersion = 1000
|
||||
|
||||
SWEP.Primary.Ammo = "smg1_grenade"
|
||||
|
||||
-- Speed multipliers --
|
||||
|
||||
SWEP.SpeedMult = 0.92
|
||||
SWEP.SightedSpeedMult = 0.5
|
||||
SWEP.SightTime = 0.4
|
||||
SWEP.ShootSpeedMult = 0.75
|
||||
|
||||
-- Length --
|
||||
|
||||
SWEP.BarrelLength = 48
|
||||
SWEP.ExtraSightDist = 2
|
||||
|
||||
-- Ironsights / Customization / Poses --
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-3.51, -5, 2.2),
|
||||
Ang = Angle(0, 0, 0),
|
||||
Midpoint = {
|
||||
Pos = Vector(0, 0, 0),
|
||||
Ang = Angle(0, -1, 0),
|
||||
},
|
||||
Magnification = 1,
|
||||
SwitchToSound = "",
|
||||
CrosshairInSights = false,
|
||||
}
|
||||
|
||||
SWEP.HolsterPos = Vector(-0.5, -4, -3)
|
||||
SWEP.HolsterAng = Angle(3.5, 7, -20)
|
||||
|
||||
SWEP.ActivePos = Vector(0, 0, 0)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.CrouchPos = Vector(-4, -2, 0)
|
||||
SWEP.CrouchAng = Angle(0, 0, -30)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -4)
|
||||
SWEP.BarrelOffsetHip = Vector(6, 0, -8)
|
||||
|
||||
-- Firing sounds --
|
||||
|
||||
local common = ")/arccw_uc/common/"
|
||||
local path = ")/arccw_uc/common/40mm/"
|
||||
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"}
|
||||
|
||||
--SWEP.Hook_AddShootSound = ArcCW.UC.InnyOuty
|
||||
|
||||
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.DistantShootSound = {
|
||||
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.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 = {
|
||||
common .. "fire-dist-int-shotgun-01.ogg",
|
||||
common .. "fire-dist-int-shotgun-02.ogg",
|
||||
common .. "fire-dist-int-shotgun-03.ogg",
|
||||
common .. "fire-dist-int-shotgun-04.ogg",
|
||||
common .. "fire-dist-int-shotgun-05.ogg",
|
||||
common .. "fire-dist-int-shotgun-06.ogg"
|
||||
}]]
|
||||
|
||||
-- Animations --
|
||||
|
||||
SWEP.Hook_Think = ArcCW.UC.ADSReload
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle",
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
SoundTable = ArcCW.UC.DrawSounds,
|
||||
},
|
||||
["holster"] = {
|
||||
Source = "holster",
|
||||
SoundTable = ArcCW.UC.HolsterSounds,
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "fire",
|
||||
Time = 20 / 30,
|
||||
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",
|
||||
Time = 20 / 30,
|
||||
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}},
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
Time = 101 / 30,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.6,
|
||||
LHIKEaseIn = 0.2,
|
||||
LHIKEaseOut = 0.2,
|
||||
LHIKOut = 0.5,
|
||||
LastClip1OutTime = 1.5,
|
||||
MinProgress = 2.2,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0},
|
||||
{s = common .. "breaker_open.ogg", t = 0.3},
|
||||
{s = common .. "gl_remove.ogg", t = 0.9},
|
||||
{s = rottle, t = 1.0},
|
||||
{s = common .. "magpouch.ogg", t = 1.4},
|
||||
{s = common .. "40mm_casing_1.ogg", t = 1.6},
|
||||
{s = common .. "gl_insert.ogg", t = 2.0},
|
||||
{s = rottle, t = 2.25},
|
||||
{s = common .. "breaker_close.ogg", t = 2.5},
|
||||
-- {
|
||||
-- t = 0.6,
|
||||
-- e = "RagdollImpact", -- Please add some kind of smoke particle after opening the chamber
|
||||
-- att = 1,
|
||||
-- mag = 100,
|
||||
-- }
|
||||
},
|
||||
},["reload_shotgun"] = {
|
||||
Source = "reload",
|
||||
Time = 101 / 30,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.6,
|
||||
LHIKEaseIn = 0.2,
|
||||
LHIKEaseOut = 0.2,
|
||||
LHIKOut = 0.5,
|
||||
LastClip1OutTime = 1.5,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0},
|
||||
{s = common .. "breaker_open.ogg", t = 0.3},
|
||||
{s = common .. "gl_remove.ogg", t = 0.9},
|
||||
{s = rottle, t = 1.0},
|
||||
{s = common .. "40mm_casing_1.ogg", t = 1.6},
|
||||
{s = common .. "gl_insert.ogg", t = 2.0},
|
||||
{s = rottle, t = 2.25},
|
||||
{s = common .. "breaker_close.ogg", t = 2.5},
|
||||
{
|
||||
t = 1, ind = 1, bg = 2, -- Empty shell bodygroup
|
||||
},
|
||||
{
|
||||
t = 1.5, ind = 1, bg = 1,
|
||||
}
|
||||
},
|
||||
},
|
||||
["reload_caseless"] = {
|
||||
Source = "reload_caseless",
|
||||
Time = 101 / 30,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.74,
|
||||
LHIKEaseIn = 0.2,
|
||||
LHIKEaseOut = 0.2,
|
||||
LHIKOut = 0.6,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0},
|
||||
{s = common .. "breaker_open.ogg", t = 0.3},
|
||||
{s = rottle, t = 0.75},
|
||||
{s = common .. "gl_insert.ogg", t = 1.5},
|
||||
{s = rottle, t = 2.0},
|
||||
{s = common .. "breaker_close.ogg", t = 2.25},
|
||||
-- {
|
||||
-- t = 0.6,
|
||||
-- e = "muzzleflash_m79", -- Please add some kind of smoke particle after opening the chamber
|
||||
-- att = nil,
|
||||
-- mag = 100,
|
||||
-- }
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.BulletBones = {
|
||||
[1] = "m79_grenade",
|
||||
}
|
||||
|
||||
-- Bodygroups --
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["m79_pirategun"] = {
|
||||
VMBodygroups = {{ind = 0, bg = 1}},
|
||||
},
|
||||
["m79_nostock"] = {
|
||||
VMBodygroups = {{ind = 2, bg = 1}},
|
||||
},
|
||||
["m79_rail"] = {
|
||||
VMBodygroups = {{ind = 3, bg = 1}},
|
||||
},
|
||||
|
||||
["40mm_buckshot"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 1}},
|
||||
},
|
||||
["40mm_buckshot_empty"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 2}},
|
||||
},
|
||||
["40mm_caseless"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 3}},
|
||||
},
|
||||
["40mm_hornetnest"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 4}},
|
||||
},
|
||||
["40mm_incendiary"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 5}},
|
||||
},
|
||||
["40mm_napalm"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 5}},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic",
|
||||
DefaultAttName = "Iron Sights",
|
||||
Slot = {"optic_lp", "optic", "optic_sniper"},
|
||||
Bone = "m79_front",
|
||||
Offset = {
|
||||
vpos = Vector(0, -3.6, 1),
|
||||
vang = Angle(90, 2, -90),
|
||||
},
|
||||
InstalledEles = {"m79_rail"},
|
||||
ExcludeFlags = {"m79_pirategun"},
|
||||
},
|
||||
{
|
||||
PrintName = "Tube",
|
||||
DefaultAttName = "Standard Tube",
|
||||
DefaultAttIcon = Material("entities/att/acwatt_ud_m79_barrel.png", "smooth mips"),
|
||||
Slot = "ud_m79_barrel",
|
||||
Bone = "m79_front",
|
||||
Offset = {
|
||||
vpos = Vector(3.45, -5.3, -22),
|
||||
vang = Angle(90, 2, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = {"foregrip"},
|
||||
Bone = "m79_front",
|
||||
Offset = {
|
||||
vpos = Vector(0, 0.4, 1.25),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
InstalledEles = {"m79_rail"},
|
||||
ExcludeFlags = {"m79_pirategun"},
|
||||
MergeSlots = {10},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = {"tac_pistol"},
|
||||
Bone = "m79_front",
|
||||
Offset = {
|
||||
vpos = Vector(0.25, 0, 5),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
ExcludeFlags = {"m79_pirategun"},
|
||||
},
|
||||
{
|
||||
PrintName = "Stock",
|
||||
Slot = {"ud_m79_stock"},
|
||||
DefaultAttName = "Wooden Stock",
|
||||
DefaultAttIcon = Material("entities/att/acwatt_ud_m79_stock.png", "smooth mips"),
|
||||
},
|
||||
{
|
||||
PrintName = "Grenade Type",
|
||||
DefaultAttName = "High Explosive",
|
||||
DefaultAttIcon = Material("entities/att/arccw_uc_40mm_generic.png", "smooth mips"),
|
||||
Slot = "uc_40mm",
|
||||
},
|
||||
{
|
||||
PrintName = "Training Package",
|
||||
Slot = "uc_tp",
|
||||
DefaultAttName = "Basic Training"
|
||||
},
|
||||
{
|
||||
PrintName = "Internals",
|
||||
Slot = "uc_fg_singleshot", -- Fire group
|
||||
DefaultAttName = "Standard Internals",
|
||||
},
|
||||
{
|
||||
PrintName = "Charm",
|
||||
Slot = {"charm", "fml_charm"},
|
||||
FreeSlot = true,
|
||||
Bone = "m79_front",
|
||||
Offset = {
|
||||
vpos = Vector(0.8, -1, 0),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "M203 slot",
|
||||
Slot = "uc_ubgl",
|
||||
Bone = "m79_front",
|
||||
Offset = {
|
||||
vpos = Vector(0, -1.1, 0.9),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
InstalledEles = {"m79_rail"},
|
||||
ExcludeFlags = {"m79_pirategun"},
|
||||
Hidden = true,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,932 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true
|
||||
SWEP.Category = "Willard - Oldie Weaponry"
|
||||
SWEP.UC_CategoryPack = "1Urban Decay"
|
||||
SWEP.AdminOnly = false
|
||||
SWEP.UseHands = true
|
||||
|
||||
-- Effects --
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_1"
|
||||
SWEP.ShellEffect = "arccw_uc_shelleffect"
|
||||
SWEP.ShellModel = "models/weapons/arccw/uc_shells/556x45.mdl"
|
||||
SWEP.ShellScale = 0.666
|
||||
--SWEP.ShellMaterial = "models/weapons/arcticcw/shell_556"
|
||||
SWEP.ShellPitch = 100
|
||||
|
||||
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 = "Patriot 809"
|
||||
|
||||
-- True name --
|
||||
|
||||
SWEP.TrueName = "Mini-14"
|
||||
|
||||
-- Trivia --
|
||||
|
||||
SWEP.Trivia_Class = "Semi-Automatic Rifle"
|
||||
SWEP.Trivia_Desc = [[Autoloading rifle designed for better accuracy than competing models. Due to its appearance, it is sometimes exempted from gun control laws targeting "Assault Weapons" despite its identical ability to kill. This has helped it find success despite its higher cost and non-standard magazine well.
|
||||
|
||||
While it can perform well in close-quarters combat, its high accuracy excels in mid-range engagements.]]
|
||||
SWEP.Trivia_Manufacturer = "Rifles International"
|
||||
SWEP.Trivia_Calibre = "5.56x45mm NATO"
|
||||
SWEP.Trivia_Mechanism = "Gas-Operated Rotating Bolt"
|
||||
SWEP.Trivia_Country = "USA"
|
||||
SWEP.Trivia_Year = 1973
|
||||
|
||||
-- Weapon slot --
|
||||
|
||||
SWEP.Slot = 2
|
||||
|
||||
-- Weapon's manufacturer real name --
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then
|
||||
SWEP.PrintName = SWEP.TrueName
|
||||
SWEP.Trivia_Manufacturer = "Sturm, Ruger & Company"
|
||||
end
|
||||
|
||||
-- Viewmodel / Worldmodel / FOV --
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arccw/c_ud_mini14.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arccw/c_ud_mini14.mdl"
|
||||
SWEP.ViewModelFOV = 70
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
SWEP.DefaultSkin = 0
|
||||
SWEP.DefaultPoseParams = {["grip"] = 0}
|
||||
|
||||
-- Damage --
|
||||
|
||||
SWEP.Damage = 20
|
||||
SWEP.DamageMin = 20
|
||||
SWEP.RangeMin = 50
|
||||
SWEP.Range = 400 -- 4 shot until ~275m
|
||||
|
||||
SWEP.Penetration = ArcCW.UC.StdDmg["556"].pen
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil
|
||||
SWEP.MuzzleVelocity = 990
|
||||
SWEP.PhysBulletMuzzleVelocity = 960
|
||||
|
||||
SWEP.BodyDamageMults = ArcCW.UC.BodyDamageMults
|
||||
|
||||
-- Mag size --
|
||||
|
||||
SWEP.ChamberSize = 1
|
||||
SWEP.Primary.ClipSize = 20
|
||||
SWEP.ExtendedClipSize = 30
|
||||
SWEP.ReducedClipSize = 10
|
||||
|
||||
-- Recoil --
|
||||
|
||||
SWEP.Recoil = 0.45
|
||||
SWEP.RecoilSide = 0.2
|
||||
|
||||
SWEP.RecoilRise = 0.5
|
||||
SWEP.RecoilPunch = 1
|
||||
SWEP.VisualRecoilMult = 1
|
||||
SWEP.MaxRecoilBlowback = 1
|
||||
SWEP.MaxRecoilPunch = 1
|
||||
SWEP.RecoilPunchBack = 1
|
||||
|
||||
SWEP.Sway = 0.25
|
||||
|
||||
-- Firerate / Firemodes --
|
||||
|
||||
SWEP.Delay = 60 / 540
|
||||
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_ar2"
|
||||
SWEP.NPCWeight = 60
|
||||
|
||||
-- Accuracy --
|
||||
|
||||
SWEP.AccuracyMOA = 4
|
||||
SWEP.HipDispersion = 800
|
||||
SWEP.MoveDispersion = 300
|
||||
SWEP.JumpDispersion = 1000
|
||||
|
||||
SWEP.Primary.Ammo = "smg1"
|
||||
SWEP.MagID = "mini14"
|
||||
|
||||
SWEP.HeatCapacity = 75
|
||||
SWEP.HeatDissipation = 5
|
||||
SWEP.HeatDelayTime = 3
|
||||
|
||||
SWEP.MalfunctionMean = 100
|
||||
|
||||
-- Speed multipliers --
|
||||
|
||||
SWEP.SpeedMult = 0.9
|
||||
SWEP.SightedSpeedMult = 0.75
|
||||
SWEP.SightTime = 0.35
|
||||
SWEP.ShootSpeedMult = 0.9
|
||||
|
||||
-- Length --
|
||||
|
||||
SWEP.BarrelLength = 36
|
||||
SWEP.ExtraSightDist = 2
|
||||
|
||||
-- Ironsights / Customization / Poses --
|
||||
|
||||
SWEP.HolsterPos = Vector(2, 0, -2)
|
||||
SWEP.HolsterAng = Angle(-5.5, 20, -20)
|
||||
|
||||
SWEP.SprintPos = Vector(-0.5, -4, -2)
|
||||
SWEP.SprintAng = Angle(3.5, 7, -20)
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-4.305, -7, 2.55),
|
||||
Ang = Angle(0, 0, 0),
|
||||
Magnification = 1,
|
||||
SwitchToSound = "",
|
||||
CrosshairInSights = false,
|
||||
}
|
||||
|
||||
SWEP.ActivePos = Vector(-1, -1, 1)
|
||||
SWEP.ActiveAng = Angle(0, 0, -3)
|
||||
|
||||
SWEP.CustomizePos = Vector(5, -2, -2)
|
||||
SWEP.CustomizeAng = Angle(15, 25, 0)
|
||||
|
||||
SWEP.CrouchPos = Vector(-5, -4, 0)
|
||||
SWEP.CrouchAng = Angle(0, 0, -30)
|
||||
|
||||
SWEP.BarrelOffsetHip = Vector(3, 0, -3)
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-10, 6.5, -6),
|
||||
ang = Angle(-12, 0, 180),
|
||||
bone = "ValveBiped.Bip01_R_Hand",
|
||||
scale = 1 - ( 0.35 * 0.75 )
|
||||
}
|
||||
|
||||
-- Firing sounds --
|
||||
|
||||
local path = ")weapons/arccw_ud/mini14/"
|
||||
local common = ")/arccw_uc/common/"
|
||||
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_supp.ogg"
|
||||
SWEP.DistantShootSound = nil
|
||||
SWEP.DistantShootSoundSilenced = common .. "sup_tail.ogg"
|
||||
SWEP.ShootDrySound = path .. "dryfire.ogg"
|
||||
|
||||
local tail = ")/arccw_uc/common/556x45/"
|
||||
|
||||
SWEP.DistantShootSoundOutdoors = {
|
||||
tail .. "fire-dist-556x45-rif-ext-01.ogg",
|
||||
tail .. "fire-dist-556x45-rif-ext-02.ogg",
|
||||
tail .. "fire-dist-556x45-rif-ext-03.ogg",
|
||||
tail .. "fire-dist-556x45-rif-ext-04.ogg",
|
||||
tail .. "fire-dist-556x45-rif-ext-05.ogg",
|
||||
tail .. "fire-dist-556x45-rif-ext-06.ogg"
|
||||
}
|
||||
SWEP.DistantShootSoundIndoors = {
|
||||
common .. "fire-dist-int-rifle-01.ogg",
|
||||
common .. "fire-dist-int-rifle-02.ogg",
|
||||
common .. "fire-dist-int-rifle-03.ogg",
|
||||
common .. "fire-dist-int-rifle-04.ogg",
|
||||
common .. "fire-dist-int-rifle-05.ogg",
|
||||
common .. "fire-dist-int-rifle-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 = 1
|
||||
SWEP.Hook_AddShootSound = ArcCW.UC.InnyOuty
|
||||
|
||||
-- Bodygroups --
|
||||
|
||||
SWEP.BulletBones = {
|
||||
[2] = "mini14_bullet1", [3] = "mini14_bullet2"
|
||||
}
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["ud_mini14_mag_10"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 2}},
|
||||
},
|
||||
["ud_mini14_mag_30"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 1}},
|
||||
},
|
||||
["ud_mini14_mag_42"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 4}},
|
||||
},
|
||||
["ud_mini14_mag_60"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 5}},
|
||||
},
|
||||
["ud_mini14_mag_15_22lr"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 3}},
|
||||
},
|
||||
["ud_mini14_mag_30_762"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 6}},
|
||||
},
|
||||
["ud_mini14_rail_optic"] = {
|
||||
VMBodygroups = {{ind = 2, bg = 1}},
|
||||
},
|
||||
|
||||
["ud_mini14_rail_fg"] = {
|
||||
VMBodygroups = {{ind = 5, bg = 1}},
|
||||
},
|
||||
|
||||
["ud_mini14_barrel_long"] = {
|
||||
VMBodygroups = {{ind = 3, bg = 1}},
|
||||
AttPosMods = {
|
||||
[3] = {
|
||||
vpos = Vector(0, -2.15, 34.5),
|
||||
},
|
||||
},
|
||||
},
|
||||
["ud_mini14_barrel_short"] = {
|
||||
VMBodygroups = {{ind = 3, bg = 2}},
|
||||
AttPosMods = {
|
||||
[3] = {
|
||||
vpos = Vector(0, -2.15, 27.5),
|
||||
},
|
||||
},
|
||||
},
|
||||
["ud_mini14_barrel_stub"] = {
|
||||
VMBodygroups = {{ind = 3, bg = 3}},
|
||||
AttPosMods = {
|
||||
[3] = {
|
||||
vpos = Vector(0, -2.1, 25),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
["ud_mini14_receiver_762"] = {
|
||||
TrueNameChange = "Mini-30",
|
||||
NameChange = "Patriot 816"
|
||||
},
|
||||
["ud_mini14_receiver_auto"] = {
|
||||
TrueNameChange = "AC-556",
|
||||
NameChange = "Patriot ACC"
|
||||
},
|
||||
["ud_mini14_receiver_22lr"] = {
|
||||
TrueNameChange = "Mini-14 .22 LR",
|
||||
NameChange = "Patriot 822"
|
||||
},
|
||||
|
||||
["ud_mini14_stock_polymer"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 1}},
|
||||
VMPoseParams = {["grip"] = 0}
|
||||
},
|
||||
["ud_mini14_stock_sawnoff"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 2}},
|
||||
VMPoseParams = {["grip"] = 0}
|
||||
},
|
||||
["ud_mini14_stock_tactical"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 4}},
|
||||
VMPoseParams = {["grip"] = 1}
|
||||
},
|
||||
["ud_mini14_stock_tactical_polymer"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 3}},
|
||||
VMSkin = 1,
|
||||
VMPoseParams = {["grip"] = 1}
|
||||
},
|
||||
|
||||
["ud_mini14_clamp"] = {
|
||||
VMBodygroups = {{ind = 6, bg = 1}},
|
||||
},
|
||||
}
|
||||
|
||||
-- Animations --
|
||||
|
||||
SWEP.Hook_Think = ArcCW.UC.ADSReload
|
||||
|
||||
SWEP.Animations = {
|
||||
["ready"] = {
|
||||
Source = "unjam",
|
||||
Time = 40 / 30,
|
||||
SoundTable = {
|
||||
{s = common .. "raise.ogg", t = 0},
|
||||
{s = common .. "rattle.ogg", t = 0.2},
|
||||
{s = path .. "chback.ogg", t = 0.25},
|
||||
{s = path .. "chamber.ogg", t = 0.35},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.8},
|
||||
{s = common .. "shoulder.ogg", t = 1},
|
||||
},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKEaseIn = 0.5,
|
||||
LHIKEaseOut = 0.15,
|
||||
LHIKOut = 0.5,
|
||||
ProcDraw = true,
|
||||
},
|
||||
["idle"] = {
|
||||
Source = "idle",
|
||||
},
|
||||
["idle_empty"] = {
|
||||
Source = "idle_empty",
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
SoundTable = ArcCW.UC.DrawSounds,
|
||||
},
|
||||
["draw_empty"] = {
|
||||
Source = "draw_empty",
|
||||
Time = 12 / 30,
|
||||
SoundTable = ArcCW.UC.DrawSounds,
|
||||
},
|
||||
["holster"] = {
|
||||
Source = "holster",
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKEaseIn = 0.4,
|
||||
LHIKEaseOut = 0,
|
||||
LHIKOut = 0,
|
||||
SoundTable = ArcCW.UC.HolsterSounds,
|
||||
},
|
||||
["holster_empty"] = {
|
||||
Source = "holster_empty",
|
||||
Time = 12 / 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKEaseIn = 0.4,
|
||||
LHIKEaseOut = 0,
|
||||
LHIKOut = 0,
|
||||
SoundTable = ArcCW.UC.HolsterSounds,
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "fire",
|
||||
Time = 20 / 30,
|
||||
ShellEjectAt = 0.01,
|
||||
LastClip1OutTime = 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",
|
||||
Time = 20 / 30,
|
||||
ShellEjectAt = 0.01,
|
||||
LastClip1OutTime = 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 }},
|
||||
},
|
||||
["fire_empty"] = {
|
||||
Source = "fire_empty",
|
||||
Time = 20 / 30,
|
||||
ShellEjectAt = 0.01,
|
||||
SoundTable = {
|
||||
{s = path .. "mech_last.ogg", t = 0}, -- Temporary
|
||||
},
|
||||
},
|
||||
["fire_iron_empty"] = {
|
||||
Source = "fire_empty",
|
||||
Time = 20 / 30,
|
||||
ShellEjectAt = 0.01,
|
||||
SoundTable = {
|
||||
{s = path .. "mech_last.ogg", t = 0}, -- Temporary
|
||||
},
|
||||
},
|
||||
["unjam"] = {
|
||||
Source = "unjam",
|
||||
Time = 40 / 30,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.0},
|
||||
{s = path .. "chback.ogg", t = 0.25},
|
||||
{s = path .. "chamber.ogg", t = 0.35},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.8},
|
||||
{s = common .. "shoulder.ogg", t = 1},
|
||||
},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKEaseIn = 0.5,
|
||||
LHIKEaseOut = 0.15,
|
||||
LHIKOut = 0.5,
|
||||
ShellEjectAt = .35,
|
||||
},
|
||||
-- 20 Round Reloads --
|
||||
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Time = 66 / 30,
|
||||
MinProgress = 1.4,
|
||||
LastClip1OutTime = 0.9,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKEaseIn = 0.4,
|
||||
LHIKEaseOut = 0.15,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.0},
|
||||
{s = path .. "magout.ogg", t = 0.25},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.4},
|
||||
{s = common .. "magpouch.ogg", t = 0.6},
|
||||
{s = path .. "magin.ogg", t = 1.05},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 1.3},
|
||||
{s = common .. "shoulder.ogg", t = 1.75},
|
||||
},
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload_empty",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Time = 86 / 30,
|
||||
MinProgress = 2.1,
|
||||
LastClip1OutTime = 1,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKEaseIn = 0.4,
|
||||
LHIKEaseOut = 0.15,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.0},
|
||||
{s = path .. "magout.ogg", t = 0.15},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.4},
|
||||
{s = common .. "magpouch.ogg", t = 0.6},
|
||||
{s = common .. "rifle_magdrop.ogg", t = 0.9},
|
||||
{s = path .. "magin.ogg", t = 1.10},
|
||||
{s = path .. "chback.ogg", t = 1.85},
|
||||
{s = path .. "chamber.ogg", t = 1.95},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 2.2},
|
||||
{s = common .. "shoulder.ogg", t = 2.4},
|
||||
},
|
||||
},
|
||||
|
||||
-- 10 Round Reloads --
|
||||
|
||||
["reload_10"] = {
|
||||
Source = "reload_10",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Time = 67 / 30,
|
||||
MinProgress = 1.6,
|
||||
LastClip1OutTime = 0.9,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKEaseIn = 0.4,
|
||||
LHIKEaseOut = 0.15,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.0},
|
||||
{s = path .. "magout.ogg", t = 0.15},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.3},
|
||||
{s = common .. "magpouch.ogg", t = 0.6, c = ci},
|
||||
{s = path .. "magin.ogg", t = 1.10},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 1.5},
|
||||
},
|
||||
},
|
||||
["reload_empty_10"] = {
|
||||
Source = "reload_empty_10",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Time = 86 / 30,
|
||||
MinProgress = 2.1,
|
||||
LastClip1OutTime = 0.7,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKEaseIn = 0.4,
|
||||
LHIKEaseOut = 0.15,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.0},
|
||||
{s = path .. "magout.ogg", t = 0.15},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.4},
|
||||
{s = common .. "magpouch.ogg", t = 0.6, c = ci},
|
||||
{s = common .. "rifle_magdrop.ogg", t = 0.9},
|
||||
{s = path .. "magin.ogg", t = 1.10},
|
||||
{s = path .. "chback.ogg", t = 1.90},
|
||||
{s = path .. "chamber.ogg", t = 2.00},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 2.4},
|
||||
{s = common .. "shoulder.ogg", t = 2.5},
|
||||
},
|
||||
},
|
||||
|
||||
-- 30 Round Reloads --
|
||||
|
||||
["reload_30"] = {
|
||||
Source = "reload_30",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Time = 67 / 30,
|
||||
MinProgress = 1.4,
|
||||
LastClip1OutTime = 0.9,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKEaseIn = 0.4,
|
||||
LHIKEaseOut = 0.15,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.0},
|
||||
{s = path .. "magout.ogg", t = 0.3},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.3},
|
||||
{s = common .. "magpouch.ogg", t = 0.7, c = ci},
|
||||
{s = path .. "magin.ogg", t = 1.10},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 1.4},
|
||||
{s = common .. "shoulder.ogg", t = 1.85},
|
||||
},
|
||||
},
|
||||
["reload_empty_30"] = {
|
||||
Source = "reload_empty_30",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Time = 86 / 30,
|
||||
MinProgress = 2.3,
|
||||
LastClip1OutTime = 0.7,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKEaseIn = 0.4,
|
||||
LHIKEaseOut = 0.15,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.0},
|
||||
{s = path .. "magout.ogg", t = 0.2},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.3},
|
||||
{s = common .. "magpouch.ogg", t = 0.65, c = ci},
|
||||
{s = common .. "rifle_magdrop.ogg", t = 0.9},
|
||||
{s = path .. "magin.ogg", t = 1.20},
|
||||
{s = path .. "chback.ogg", t = 2},
|
||||
{s = path .. "chamber.ogg", t = 2.1},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 2.3},
|
||||
{s = common .. "shoulder.ogg", t = 2.65},
|
||||
},
|
||||
},
|
||||
|
||||
-- 30 polymer Reloads --
|
||||
|
||||
["reload_30_tac"] = {
|
||||
Source = "reload_30_tac",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Time = 67 / 30,
|
||||
MinProgress = 1.4,
|
||||
LastClip1OutTime = 0.9,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKEaseIn = 0.4,
|
||||
LHIKEaseOut = 0.15,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.0},
|
||||
{s = path .. "magout.ogg", t = 0.3},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.3},
|
||||
{s = common .. "magpouch.ogg", t = 0.7, c = ci},
|
||||
{s = path .. "magin.ogg", t = 1.10},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 1.4},
|
||||
{s = common .. "shoulder.ogg", t = 1.85},
|
||||
},
|
||||
},
|
||||
["reload_empty_30_tac"] = {
|
||||
Source = "reload_empty_30_tac",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Time = 86 / 30,
|
||||
MinProgress = 2.3,
|
||||
LastClip1OutTime = 0.7,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKEaseIn = 0.4,
|
||||
LHIKEaseOut = 0.15,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.0},
|
||||
{s = path .. "magout.ogg", t = 0.2},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.3},
|
||||
{s = common .. "magpouch.ogg", t = 0.65, c = ci},
|
||||
{s = common .. "rifle_magdrop.ogg", t = 0.9},
|
||||
{s = path .. "magin.ogg", t = 1.20},
|
||||
{s = path .. "chback.ogg", t = 2},
|
||||
{s = path .. "chamber.ogg", t = 2.1},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 2.3},
|
||||
{s = common .. "shoulder.ogg", t = 2.65},
|
||||
},
|
||||
},
|
||||
|
||||
-- 7.62 reloads --
|
||||
|
||||
["reload_762"] = {
|
||||
Source = "reload_762",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Time = 67 / 30,
|
||||
MinProgress = 1.4,
|
||||
LastClip1OutTime = 0.9,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKEaseIn = 0.4,
|
||||
LHIKEaseOut = 0.15,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.0},
|
||||
{s = path .. "magout.ogg", t = 0.3},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.3},
|
||||
{s = common .. "magpouch.ogg", t = 0.7, c = ci},
|
||||
{s = path .. "magin.ogg", t = 1.10},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 1.4},
|
||||
{s = common .. "shoulder.ogg", t = 1.85},
|
||||
},
|
||||
},
|
||||
["reload_empty_762"] = {
|
||||
Source = "reload_empty_762",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Time = 86 / 30,
|
||||
MinProgress = 2.3,
|
||||
LastClip1OutTime = 0.7,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKEaseIn = 0.4,
|
||||
LHIKEaseOut = 0.15,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.0},
|
||||
{s = path .. "magout.ogg", t = 0.2},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.3},
|
||||
{s = common .. "magpouch.ogg", t = 0.65, c = ci},
|
||||
{s = common .. "rifle_magdrop.ogg", t = 0.9},
|
||||
{s = path .. "magin.ogg", t = 1.20},
|
||||
{s = path .. "chback.ogg", t = 2},
|
||||
{s = path .. "chamber.ogg", t = 2.1},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 2.3},
|
||||
{s = common .. "shoulder.ogg", t = 2.65},
|
||||
},
|
||||
},
|
||||
|
||||
-- 60 round reloads (?) --
|
||||
|
||||
["reload_60"] = {
|
||||
Source = "reload_60",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Time = 67 / 30,
|
||||
MinProgress = 1.4,
|
||||
LastClip1OutTime = 0.9,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKEaseIn = 0.4,
|
||||
LHIKEaseOut = 0.15,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.0},
|
||||
{s = path .. "magout.ogg", t = 0.35},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.3},
|
||||
{s = common .. "magpouch.ogg", t = 0.7, c = ci},
|
||||
{s = path .. "magin.ogg", t = 1.10},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 1.4},
|
||||
{s = common .. "shoulder.ogg", t = 1.85},
|
||||
},
|
||||
},
|
||||
["reload_empty_60"] = {
|
||||
Source = "reload_empty_60",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Time = 86 / 30,
|
||||
MinProgress = 2.3,
|
||||
LastClip1OutTime = 0.7,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKEaseIn = 0.4,
|
||||
LHIKEaseOut = 0.15,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.0},
|
||||
{s = path .. "magout.ogg", t = 0.35},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.3},
|
||||
{s = common .. "magpouch.ogg", t = 0.7, c = ci},
|
||||
{s = common .. "rifle_magdrop.ogg", t = 0.9},
|
||||
{s = path .. "magin.ogg", t = 1.20},
|
||||
{s = path .. "chback.ogg", t = 1.9},
|
||||
{s = path .. "chamber.ogg", t = 2},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 2.3},
|
||||
{s = common .. "shoulder.ogg", t = 2.65},
|
||||
},
|
||||
},
|
||||
|
||||
-- 15 22lr Round Reloads --
|
||||
|
||||
["reload_15_22lr"] = {
|
||||
Source = "reload_15_22lr",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Time = 67 / 30,
|
||||
MinProgress = 1.6,
|
||||
LastClip1OutTime = 0.9,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKEaseIn = 0.4,
|
||||
LHIKEaseOut = 0.45,
|
||||
LHIKOut = 0.7,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.0},
|
||||
{s = path .. "magout.ogg", t = 0.15},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.3},
|
||||
{s = common .. "magpouch.ogg", t = 0.65, c = ci},
|
||||
{s = path .. "magin.ogg", t = .9},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 1.4},
|
||||
},
|
||||
},
|
||||
["reload_empty_15_22lr"] = {
|
||||
Source = "reload_empty_15_22lr",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Time = 86 / 30,
|
||||
MinProgress = 2.2,
|
||||
LastClip1OutTime = 0.7,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKEaseIn = 0.4,
|
||||
LHIKEaseOut = 0.45,
|
||||
LHIKOut = 0.6,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.0},
|
||||
{s = path .. "magout.ogg", t = 0.15},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.5},
|
||||
{s = common .. "pistol_magdrop.ogg", t = 0.9},
|
||||
{s = common .. "magpouch.ogg", t = 0.7, c = ci},
|
||||
{s = path .. "magin.ogg", t = 1.10},
|
||||
{s = path .. "chback.ogg", t = 1.9},
|
||||
{s = path .. "chamber.ogg", t = 2.0},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 2.3},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Hook_ModifyBodygroups = function(wep,data)
|
||||
local vm = data.vm
|
||||
if !IsValid(vm) then return end
|
||||
|
||||
local atts = wep.Attachments
|
||||
local barr = string.Replace(atts[2].Installed or "default","ud_mini14_barrel_","")
|
||||
local muzz = atts[3].Installed
|
||||
local tac = atts[6].Installed
|
||||
|
||||
if muzz or barr == "stub" or barr == "default" then
|
||||
vm:SetBodygroup(7,2)
|
||||
elseif barr == "short" then
|
||||
vm:SetBodygroup(7,1)
|
||||
elseif barr == "long" then
|
||||
vm:SetBodygroup(7,0)
|
||||
end
|
||||
|
||||
if !tac then
|
||||
vm:SetBodygroup(6,0)
|
||||
end
|
||||
end
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic",
|
||||
DefaultAttName = "Iron Sights",
|
||||
Slot = {"optic_lp","optic","optic_sniper"},
|
||||
Bone = "mini14_parent",
|
||||
Offset = {
|
||||
vpos = Vector(0, -3.6, 6),
|
||||
vang = Angle(90, 2, -90),
|
||||
},
|
||||
VMScale = Vector(1.2,1.2,1.2),
|
||||
WMScale = VMScale,
|
||||
InstalledEles = {"ud_mini14_rail_optic"},
|
||||
},
|
||||
{
|
||||
PrintName = "Barrel",
|
||||
DefaultAttName = "20\" Standard Barrel",
|
||||
DefaultAttIcon = Material("entities/att/acwatt_ud_mini14_barrel.png", "smooth mips"),
|
||||
Slot = "ud_mini14_barrel",
|
||||
},
|
||||
{
|
||||
PrintName = "Muzzle",
|
||||
DefaultAttName = "Standard Muzzle",
|
||||
Slot = {"muzzle"},
|
||||
Bone = "mini14_parent",
|
||||
Offset = {
|
||||
vpos = Vector(0, -2.15, 30),
|
||||
vang = Angle(90, 0, -90),
|
||||
wpos = vpos,
|
||||
},
|
||||
VMScale = Vector(1.5,1.5,1.5),
|
||||
WMScale = VMScale,
|
||||
ExcludeFlags = {"nomuzzle"},
|
||||
},
|
||||
{
|
||||
PrintName = "Receiver",
|
||||
DefaultAttName = "Mini-14 Receiver",
|
||||
DefaultAttIcon = Material("entities/att/acwatt_ud_mini14_receiver.png", "smooth mips"),
|
||||
Slot = "ud_mini14_receiver",
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = {"foregrip"},
|
||||
Bone = "mini14_parent",
|
||||
Offset = {
|
||||
vpos = Vector(0, 0, 14),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
InstalledEles = {"ud_mini14_rail_fg"},
|
||||
MergeSlots = {14}
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = {"tac"},
|
||||
Bone = "mini14_parent",
|
||||
Offset = {
|
||||
vpos = Vector(0, -1.5, 22.3),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
InstalledEles = {"ud_mini14_clamp"},
|
||||
},
|
||||
{
|
||||
PrintName = "Magazine",
|
||||
Slot = {"ud_mini14_mag"},
|
||||
DefaultAttName = "20-Round Mag",
|
||||
DefaultAttIcon = Material("entities/att/acwatt_ud_mini14_mag_20.png", "smooth mips"),
|
||||
},
|
||||
{
|
||||
PrintName = "Stock",
|
||||
Slot = {"ud_mini14_stock"},
|
||||
DefaultAttName = "Wooden Stock",
|
||||
DefaultAttIcon = Material("entities/att/acwatt_ud_mini14_stock.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", -- Fire group
|
||||
DefaultAttName = "Standard Internals"
|
||||
},
|
||||
{
|
||||
PrintName = "Charm",
|
||||
Slot = {"charm", "fml_charm"},
|
||||
FreeSlot = true,
|
||||
Bone = "mini14_parent",
|
||||
Offset = {
|
||||
vpos = Vector(1.1, -0.5, 6),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "M203 slot",
|
||||
Slot = "uc_ubgl",
|
||||
Bone = "mini14_parent",
|
||||
Offset = {
|
||||
vpos = Vector(0, -1.2, 10),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
InstalledEles = {"ud_mini14_rail_fg"},
|
||||
ExcludeFlags = {"ak_noubs","barrel_rpk"},
|
||||
Hidden = true,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,825 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true
|
||||
SWEP.Category = "Willard - Modern Weaponry"
|
||||
SWEP.UC_CategoryPack = "1Urban Decay"
|
||||
SWEP.AdminOnly = false
|
||||
SWEP.UseHands = true
|
||||
|
||||
-- Effects --
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_1"
|
||||
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 = "IAL-9"
|
||||
|
||||
-- True name --
|
||||
|
||||
SWEP.TrueName = "Uzi"
|
||||
|
||||
-- Trivia --
|
||||
|
||||
SWEP.Trivia_Class = "Submachine Gun"
|
||||
SWEP.Trivia_Desc = "Revolutionary submachine gun developed to arm a young State of Israel following the Second World War. Its ergonomic design, low cost, reliability, and great handling made it popular among militaries, police forces, and private security firms worldwide.\n\nBoasts excellent recoil control partially due to a below average cyclic rate. Good for hip firing in close quarters."
|
||||
SWEP.Trivia_Manufacturer = "IAL Metal Industries"
|
||||
SWEP.Trivia_Calibre = "9x19mm Parabellum"
|
||||
SWEP.Trivia_Mechanism = "Open Bolt"
|
||||
SWEP.Trivia_Country = "Israel"
|
||||
SWEP.Trivia_Year = 1950
|
||||
|
||||
-- Weapon slot --
|
||||
|
||||
SWEP.Slot = 2
|
||||
|
||||
-- Weapon's manufacturer real name --
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then
|
||||
SWEP.PrintName = SWEP.TrueName
|
||||
SWEP.Trivia_Manufacturer = "Israeli Military Industries"
|
||||
end
|
||||
|
||||
-- Viewmodel / Worldmodel / FOV --
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arccw/c_ud_uzi.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arccw/c_ud_uzi.mdl"
|
||||
SWEP.ViewModelFOV = 70
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
-- Damage --
|
||||
|
||||
SWEP.Damage = 12
|
||||
SWEP.DamageMin = 12
|
||||
SWEP.Penetration = ArcCW.UC.StdDmg["9mm"].pen
|
||||
|
||||
SWEP.RangeMin = 15
|
||||
SWEP.Range = 100 -- 4 shot until ~35m
|
||||
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil
|
||||
SWEP.MuzzleVelocity = 400
|
||||
SWEP.PhysBulletMuzzleVelocity = 400
|
||||
|
||||
SWEP.BodyDamageMults = ArcCW.UC.BodyDamageMults
|
||||
|
||||
-- Mag size --
|
||||
|
||||
SWEP.ChamberSize = 0
|
||||
SWEP.Primary.ClipSize = 32
|
||||
SWEP.ExtendedClipSize = 40
|
||||
SWEP.ReducedClipSize = 16
|
||||
|
||||
-- Recoil --
|
||||
|
||||
SWEP.Recoil = 0.3
|
||||
SWEP.RecoilSide = 0.35
|
||||
|
||||
SWEP.RecoilRise = 0.2
|
||||
SWEP.RecoilPunch = 1
|
||||
SWEP.VisualRecoilMult = 1
|
||||
SWEP.MaxRecoilBlowback = 1
|
||||
SWEP.MaxRecoilPunch = 0.6
|
||||
SWEP.RecoilPunchBack = 1.5
|
||||
|
||||
SWEP.Sway = 0.3
|
||||
|
||||
-- Firerate / Firemodes --
|
||||
|
||||
SWEP.TriggerDelay = true
|
||||
|
||||
SWEP.Delay = 60 / 700
|
||||
SWEP.Num = 1
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 2,
|
||||
Mult_TriggerDelayTime = 2,
|
||||
},
|
||||
{
|
||||
Mode = 1,
|
||||
Mult_TriggerDelayTime = 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 = 15
|
||||
SWEP.HipDispersion = 400
|
||||
SWEP.MoveDispersion = 100
|
||||
SWEP.JumpDispersion = 1000
|
||||
|
||||
SWEP.Primary.Ammo = "pistol"
|
||||
SWEP.MagID = "uzi"
|
||||
|
||||
SWEP.HeatCapacity = 75
|
||||
SWEP.HeatDissipation = 15
|
||||
SWEP.HeatDelayTime = 3
|
||||
|
||||
SWEP.MalfunctionMean = 200
|
||||
SWEP.MalfunctionTakeRound = false
|
||||
|
||||
-- Speed multipliers --
|
||||
|
||||
SWEP.SpeedMult = 0.95
|
||||
SWEP.SightedSpeedMult = 0.75
|
||||
SWEP.SightTime = 0.3
|
||||
SWEP.ShootSpeedMult = 0.95
|
||||
|
||||
-- Length --
|
||||
|
||||
SWEP.BarrelLength = 24
|
||||
SWEP.ExtraSightDist = 7
|
||||
|
||||
-- Ironsights / Customization / Poses --
|
||||
|
||||
SWEP.HolsterPos = Vector(0.5, -2, 1)
|
||||
SWEP.HolsterAng = Angle(-8.5, 8, -10)
|
||||
|
||||
SWEP.HoldtypeHolstered = "normal"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-2.869, -6, 1.95),
|
||||
Ang = Angle(0, 0, 0),
|
||||
Magnification = 1,
|
||||
SwitchToSound = "",
|
||||
ViewModelFOV = 55,
|
||||
}
|
||||
|
||||
SWEP.ActivePos = Vector(0.4, -1.9, 1.4)
|
||||
SWEP.ActiveAng = Angle(0, 0, -3)
|
||||
|
||||
SWEP.CustomizePos = Vector(5, -2, -2)
|
||||
SWEP.CustomizeAng = Angle(15, 25, 0)
|
||||
|
||||
SWEP.CrouchPos = Vector(-3, -3, 0)
|
||||
SWEP.CrouchAng = Angle(0, 0, -30)
|
||||
|
||||
SWEP.BarrelOffsetHip = Vector(4, 0, -4)
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-16, 4, -3),
|
||||
ang = Angle(-12, 0, 180),
|
||||
bone = "ValveBiped.Bip01_R_Hand",
|
||||
scale = 1
|
||||
}
|
||||
|
||||
-- Firing sounds --
|
||||
local path = ")weapons/arccw_ud/uzi/"
|
||||
local path1 = ")weapons/arccw_ud/glock/"
|
||||
local common = ")/arccw_uc/common/"
|
||||
--SWEP.FirstShootSound = path .. "fire.ogg"
|
||||
--SWEP.ShootSound = path .. "fire_auto.ogg"
|
||||
SWEP.ShootSoundSilenced = path1 .. "fire_supp.ogg"
|
||||
SWEP.ShootDrySound = path .. "dryfire.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"
|
||||
}
|
||||
|
||||
local tail = ")/arccw_uc/common/9x19/"
|
||||
|
||||
SWEP.DistantShootSoundOutdoors = {
|
||||
tail .. "fire-dist-9x19-smg-ext-01.ogg",
|
||||
tail .. "fire-dist-9x19-smg-ext-02.ogg",
|
||||
tail .. "fire-dist-9x19-smg-ext-03.ogg",
|
||||
tail .. "fire-dist-9x19-smg-ext-04.ogg",
|
||||
tail .. "fire-dist-9x19-smg-ext-05.ogg",
|
||||
tail .. "fire-dist-9x19-smg-ext-06.ogg"
|
||||
}
|
||||
SWEP.DistantShootSoundIndoors = {
|
||||
common .. "fire-dist-int-pistol-01.ogg",
|
||||
common .. "fire-dist-int-pistol-02.ogg",
|
||||
common .. "fire-dist-int-pistol-03.ogg",
|
||||
common .. "fire-dist-int-pistol-04.ogg",
|
||||
common .. "fire-dist-int-pistol-05.ogg",
|
||||
common .. "fire-dist-int-pistol-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.5
|
||||
SWEP.Hook_AddShootSound = ArcCW.UC.InnyOuty
|
||||
|
||||
-- Bodygroups --
|
||||
|
||||
SWEP.BulletBones = {
|
||||
[1] = "uzi_b1", [2] = "uzi_b2", [3] = "uzi_b3", [4] = "uzi_b4"
|
||||
}
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
|
||||
["ud_uzi_mag_20"] = {
|
||||
VMBodygroups = {{ind = 2, bg = 1}},
|
||||
},
|
||||
["ud_uzi_mag_40"] = {
|
||||
VMBodygroups = {{ind = 2, bg = 2}},
|
||||
},
|
||||
["ud_uzi_mag_100"] = {
|
||||
VMBodygroups = {{ind = 2, bg = 3}},
|
||||
},
|
||||
["ud_uzi_mag_45_10"] = {
|
||||
VMBodygroups = {{ind = 2, bg = 1}},
|
||||
},
|
||||
["ud_uzi_mag_45_22"] = {
|
||||
VMBodygroups = {{ind = 2, bg = 2}},
|
||||
},
|
||||
|
||||
["ud_uzi_rail_optic"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 2}},
|
||||
},
|
||||
|
||||
["ud_uzi_clamp"] = {
|
||||
VMBodygroups = {{ind = 6, bg = 1}},
|
||||
},
|
||||
|
||||
["ud_uzi_rail_fg"] = {
|
||||
VMBodygroups = {{ind = 5, bg = 1}},
|
||||
},
|
||||
|
||||
["ud_uzi_stock_wood"] = {
|
||||
VMBodygroups = {{ind = 3, bg = 2}},
|
||||
},
|
||||
["ud_uzi_stock_polymer"] = {
|
||||
VMBodygroups = {{ind = 3, bg = 3}},
|
||||
},
|
||||
["ud_uzi_stock_folded"] = {
|
||||
VMBodygroups = {{ind = 3, bg = 1}},
|
||||
},
|
||||
["ud_uzi_stock_remove"] = {
|
||||
VMBodygroups = {{ind = 3, bg = 4}},
|
||||
},
|
||||
|
||||
["ud_uzi_body_carbine"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 1}},
|
||||
NameChange = "IAL-C9",
|
||||
TrueNameChange = "Uzi Carbine",
|
||||
AttPosMods = {
|
||||
[4] = {
|
||||
vpos = Vector(-0.2, 0.5, 20.8),
|
||||
},
|
||||
},
|
||||
},
|
||||
["ud_uzi_body_mini"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 2}},
|
||||
NameChange = "IAL-S9",
|
||||
TrueNameChange = "Mini Uzi",
|
||||
AttPosMods = {
|
||||
[4] = {
|
||||
vpos = Vector(-0.2, 0.5, 11.8),
|
||||
},
|
||||
},
|
||||
},
|
||||
["ud_uzi_body_micro"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 3},{ind = 4, bg = 1},{ind = 3, bg = 4}},
|
||||
NameChange = "IAL-M9",
|
||||
TrueNameChange = "Micro Uzi",
|
||||
Override_IronSightStruct = {
|
||||
Pos = Vector(-2.869, 3, 1.95),
|
||||
Ang = Angle(-0, 0.035, 0),
|
||||
Magnification = 1,
|
||||
CrosshairInSights = false
|
||||
},
|
||||
AttPosMods = {
|
||||
[1] = {
|
||||
vpos = Vector(-0.2, -1.8, -1.5),
|
||||
},
|
||||
[4] = {
|
||||
vpos = Vector(-0.2, 0.3, 7.8),
|
||||
},
|
||||
[6] = {
|
||||
vpos = Vector(-0.25, 1.4, 6),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
},
|
||||
["ud_uzi_body_civvy"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 4}},
|
||||
NameChange = "IAL-C9 Model GB",
|
||||
TrueNameChange = "Uzi Action-B",
|
||||
AttPosMods = {
|
||||
[4] = {
|
||||
vpos = Vector(-0.2, 0.5, 23.8),
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Hook_ModifyBodygroups = function(wep, data)
|
||||
local vm = data.vm
|
||||
if !IsValid(vm) then return end
|
||||
local barrel = wep.Attachments[2].Installed
|
||||
if barrel == "ud_uzi_body_micro" then
|
||||
if wep.Attachments[1].Installed then
|
||||
vm:SetBodygroup(4, 3)
|
||||
end
|
||||
if wep.Attachments[6].Installed then
|
||||
vm:SetBodygroup(6, 0)
|
||||
vm:SetBodygroup(5, 2)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Animations --
|
||||
|
||||
SWEP.Hook_Think = ArcCW.UC.ADSReload
|
||||
|
||||
SWEP.Animations = {
|
||||
["ready"] = {
|
||||
Source = "fix",
|
||||
Time = 40 / 30,
|
||||
ShellEjectAt = false,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKEaseIn = 0.4,
|
||||
LHIKEaseOut = 0.15,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{s = common .. "raise.ogg", t = 0},
|
||||
{s = common .. "rattle.ogg", t = 0.2},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.15},
|
||||
{s = path .. "chback.ogg", t = 0.3, c = ci},
|
||||
{s = path .. "chforward.ogg", t = 0.65, c = ci},
|
||||
},
|
||||
ProcDraw = true,
|
||||
},
|
||||
["idle"] = {
|
||||
Source = "idle",
|
||||
},
|
||||
["idle_empty"] = {
|
||||
Source = "idle_empty",
|
||||
},
|
||||
["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"}, t = 0, v = 0.25 }},
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "fire",
|
||||
Time = 13 / 30,
|
||||
ShellEjectAt = 0.03,
|
||||
SoundTable = {{ s = {path .. "mech-01.ogg", path .. "mech-02.ogg"}, t = 0 }},
|
||||
},
|
||||
["fire_empty"] = {
|
||||
Source = "fire_empty",
|
||||
Time = 13 / 30,
|
||||
ShellEjectAt = 0.03,
|
||||
SoundTable = {{ s = path .. "chforward.ogg", t = 0 }},
|
||||
},
|
||||
|
||||
["trigger"] = {
|
||||
Source = "idle",
|
||||
Time = 0.025,
|
||||
SoundTable = {
|
||||
{s = path .. "prefire.ogg", t = 0, c = ci},
|
||||
},
|
||||
},
|
||||
["trigger_empty"] = {
|
||||
Source = "idle",
|
||||
Time = 0,
|
||||
SoundTable = nil,
|
||||
},
|
||||
|
||||
["fix"] = {
|
||||
Source = "fix",
|
||||
Time = 40 / 30,
|
||||
ShellEjectAt = false,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKEaseIn = 0.4,
|
||||
LHIKEaseOut = 0.15,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.15},
|
||||
{s = path .. "chback.ogg", t = 0.3, c = ci},
|
||||
{s = path .. "chforward.ogg", t = 0.65, c = ci},
|
||||
},
|
||||
},
|
||||
["fix_empty"] = {
|
||||
Source = "fix_empty",
|
||||
Time = 40 / 30,
|
||||
ShellEjectAt = false,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKEaseIn = 0.4,
|
||||
LHIKEaseOut = 0.15,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.15},
|
||||
{s = path .. "chback.ogg", t = 0.3, c = ci},
|
||||
{s = path .. "chforward.ogg", t = 0.65, c = ci},
|
||||
},
|
||||
},
|
||||
|
||||
["fix_micro"] = {
|
||||
Source = "fix_micro",
|
||||
Time = 40 / 30,
|
||||
ShellEjectAt = false,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKEaseIn = 0.4,
|
||||
LHIKEaseOut = 0.15,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.15},
|
||||
{s = path .. "chback.ogg", t = 0.3, c = ci},
|
||||
{s = path .. "chforward.ogg", t = 0.65, c = ci},
|
||||
},
|
||||
},
|
||||
["fix_empty_micro"] = {
|
||||
Source = "fix_empty_micro",
|
||||
Time = 40 / 30,
|
||||
ShellEjectAt = false,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKEaseIn = 0.4,
|
||||
LHIKEaseOut = 0.15,
|
||||
LHIKOut = 0.4,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.15},
|
||||
{s = path .. "chback.ogg", t = 0.3, c = ci},
|
||||
{s = path .. "chforward.ogg", t = 0.65, c = ci},
|
||||
},
|
||||
},
|
||||
|
||||
-- 32 Round Reloads --
|
||||
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
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 = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0},
|
||||
{s = common .. "magpouch.ogg", t = 0.025},
|
||||
{s = path .. "magout.ogg", t = 0.25, c = ci},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.25},
|
||||
{s = path .. "magin.ogg", t = 0.55, c = ci},
|
||||
{s = common .. "magpouchin.ogg", t = 1.35, v = .35},
|
||||
{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 = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0},
|
||||
{s = path .. "magout.ogg", t = 0.4, c = ci},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.25},
|
||||
{s = common .. "magpouch.ogg", t = 0.85},
|
||||
{s = common .. "magdrop_smg.ogg", t = 1.0},
|
||||
{s = path .. "magin.ogg", t = 1.1, c = ci},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 1.25},
|
||||
{s = path .. "chback.ogg", t = 1.935, c = ci},
|
||||
{s = path .. "chforward.ogg", t = 2.15, c = ci},
|
||||
{s = common .. "shoulder.ogg", t = 2.6},
|
||||
},
|
||||
},
|
||||
|
||||
-- 16 Round Reloads --
|
||||
|
||||
["reload_16"] = {
|
||||
Source = "reload_16",
|
||||
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 = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0},
|
||||
{s = common .. "magpouch.ogg", t = 0.025},
|
||||
{s = path .. "magout.ogg", t = 0.25, c = ci},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.25},
|
||||
{s = path .. "magin.ogg", t = 0.55, c = ci},
|
||||
{s = common .. "magpouchin.ogg", t = 1.35, v = .35},
|
||||
{s = common .. "shoulder.ogg", t = 1.75},
|
||||
},
|
||||
},
|
||||
["reload_empty_16"] = {
|
||||
Source = "reload_empty_16",
|
||||
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 = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0},
|
||||
{s = path .. "magout.ogg", t = 0.4, c = ci},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.25},
|
||||
{s = common .. "magpouch.ogg", t = 0.85},
|
||||
{s = common .. "magdrop_smg.ogg", t = 1.0},
|
||||
{s = path .. "magin.ogg", t = 1.1, c = ci},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 1.25},
|
||||
{s = path .. "chback.ogg", t = 1.947, c = ci},
|
||||
{s = path .. "chforward.ogg", t = 2.15, c = ci},
|
||||
{s = common .. "shoulder.ogg", t = 2.45},
|
||||
},
|
||||
},
|
||||
|
||||
-- 41 Round Reloads --
|
||||
|
||||
["reload_41"] = {
|
||||
Source = "reload_41",
|
||||
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 = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0},
|
||||
{s = common .. "magpouch.ogg", t = 0.025},
|
||||
{s = path .. "magout.ogg", t = 0.35, c = ci},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.25},
|
||||
{s = path .. "magin.ogg", t = 0.65, c = ci},
|
||||
{s = common .. "magpouchin.ogg", t = 1.35, v = .35},
|
||||
{s = common .. "shoulder.ogg", t = 1.75},
|
||||
},
|
||||
},
|
||||
["reload_empty_41"] = {
|
||||
Source = "reload_empty_41",
|
||||
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 = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0},
|
||||
{s = path .. "magout.ogg", t = 0.4, c = ci},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.25},
|
||||
{s = common .. "magpouch.ogg", t = 0.85},
|
||||
{s = common .. "magdrop_smg.ogg", t = 1.0},
|
||||
{s = path .. "magin.ogg", t = 1.1, c = ci},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 1.25},
|
||||
{s = path .. "chback.ogg", t = 1.947, c = ci},
|
||||
{s = path .. "chforward.ogg", t = 2.15, c = ci},
|
||||
{s = common .. "shoulder.ogg", t = 2.6},
|
||||
},
|
||||
},
|
||||
|
||||
-- 100 Round Reloads --
|
||||
|
||||
["reload_100"] = {
|
||||
Source = "reload_100",
|
||||
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.4,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0},
|
||||
{s = path .. "magout.ogg", t = 0.25, c = ci},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.25},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.75},
|
||||
{s = path .. "magin.ogg", t = 1.15, c = ci},
|
||||
{s = common .. "cloth_4.ogg", t = 1.65},
|
||||
{s = common .. "shoulder.ogg", t = 1.95},
|
||||
},
|
||||
},
|
||||
["reload_empty_100"] = {
|
||||
Source = "reload_empty_100",
|
||||
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 = 0.55,
|
||||
SoundTable = {
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0},
|
||||
{s = path .. "magout.ogg", t = 0.25, c = ci},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.25},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.75},
|
||||
{s = common .. "magdrop.ogg", t = 1.0},
|
||||
{s = path .. "magin.ogg", t = 1.15, c = ci},
|
||||
{s = common .. "cloth_4.ogg", t = 1.65},
|
||||
{s = path .. "chback.ogg", t = 2.0, c = ci},
|
||||
{s = path .. "chforward.ogg", t = 2.25, c = ci},
|
||||
{s = common .. "shoulder.ogg", t = 2.7},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.AutosolveSourceSeq = "idle"
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic",
|
||||
DefaultAttName = "Iron Sights",
|
||||
Slot = {"optic_lp","optic"}, -- ,"optic"
|
||||
Bone = "uzi_parent",
|
||||
Offset = {
|
||||
vpos = Vector(-0.2, -1.55, -0.5),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
InstalledEles = {"ud_uzi_rail_optic"}
|
||||
},
|
||||
{
|
||||
PrintName = "Barrel",
|
||||
DefaultAttName = "10\" Standard Barrel",
|
||||
DefaultAttIcon = Material("entities/att/acwatt_ud_uzi_body.png", "smooth mips"),
|
||||
Slot = "ud_uzi_frame",
|
||||
Bone = "uzi_parent",
|
||||
Offset = {
|
||||
vpos = Vector(2.6, -3.7, -17.3),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Caliber",
|
||||
DefaultAttName = "9x19mm Parabellum",
|
||||
DefaultAttIcon = Material("entities/att/uc_bullets/9x19.png", "smooth mips"),
|
||||
Slot = "ud_uzi_caliber",
|
||||
},
|
||||
{
|
||||
PrintName = "Muzzle",
|
||||
DefaultAttName = "Standard Muzzle",
|
||||
Slot = {"muzzle"},
|
||||
Bone = "uzi_parent",
|
||||
Offset = {
|
||||
vpos = Vector(-0.2, 0.5, 14.8),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = {"foregrip"},
|
||||
Bone = "uzi_parent",
|
||||
Offset = {
|
||||
vpos = Vector(-0.2, 1.85, 6.9), -- nice
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
InstalledEles = {"ud_uzi_rail_fg"},
|
||||
ExcludeFlags = {"micro"}
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = {"tac_pistol"},
|
||||
Bone = "uzi_parent",
|
||||
Offset = {
|
||||
vpos = Vector(-1.35, 0.9,5.8),
|
||||
vang = Angle(90, 0, 180),
|
||||
},
|
||||
InstalledEles = {"ud_uzi_clamp"}
|
||||
},
|
||||
{
|
||||
PrintName = "Stock",
|
||||
Slot = {"ud_uzi_stock"},
|
||||
DefaultAttName = "Folding Stock",
|
||||
DefaultAttIcon = Material("entities/att/acwatt_ud_uzi_stock.png", "smooth mips"),
|
||||
ExcludeFlags = {"micro"},
|
||||
},
|
||||
{
|
||||
PrintName = "Magazine",
|
||||
Slot = {"ud_uzi_mag"},
|
||||
DefaultAttName = "32-Round Mag",
|
||||
DefaultAttIcon = Material("entities/att/acwatt_ud_uzi_mag_32.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", -- Fire group
|
||||
DefaultAttName = "Standard Internals"
|
||||
},
|
||||
{
|
||||
PrintName = "Charm",
|
||||
Slot = {"charm", "fml_charm"},
|
||||
FreeSlot = true,
|
||||
Bone = "uzi_parent",
|
||||
Offset = {
|
||||
vpos = Vector(0.4, 1.3, 2.3),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,575 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true
|
||||
SWEP.Category = "Willard - Oldie Weaponry"
|
||||
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.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 = "Enforcement .44"
|
||||
|
||||
-- True name --
|
||||
|
||||
SWEP.TrueName = "Model 329PD"
|
||||
|
||||
-- Trivia --
|
||||
|
||||
SWEP.Trivia_Class = "Revolver"
|
||||
SWEP.Trivia_Desc = [[Though commonly viewed as archaic, revolvers maintain a large following today for their reliability, accuracy, and evocative sentiment. This model was famously "the most powerful handgun in the world" at its time, though its usurpers have not changed the fact that it packs a mean punch.
|
||||
|
||||
Has a heavy trigger pull. Single-action mode removes trigger delay and increases accuracy, but requires manual cocking of the hammer.]]
|
||||
SWEP.Trivia_Manufacturer = "Sneed & Walwakashi"
|
||||
SWEP.Trivia_Calibre = ".44 Magnum"
|
||||
SWEP.Trivia_Mechanism = "Double-Action"
|
||||
SWEP.Trivia_Country = "USA"
|
||||
SWEP.Trivia_Year = 1955
|
||||
|
||||
-- Weapon slot --
|
||||
|
||||
SWEP.Slot = 1
|
||||
|
||||
-- Weapon's manufacturer real name --
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then
|
||||
SWEP.PrintName = SWEP.TrueName
|
||||
SWEP.Trivia_Manufacturer = "Smith & Wesson"
|
||||
end
|
||||
|
||||
-- Viewmodel / Worldmodel / FOV --
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arccw/c_ur_329pd.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arccw/c_ur_329pd.mdl"
|
||||
SWEP.ViewModelFOV = 70
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_REVOLVER
|
||||
|
||||
-- Damage parameters --
|
||||
|
||||
SWEP.Damage = 30 -- 2 shot close range kill
|
||||
SWEP.DamageMin = 30 -- 7 shot long range kill
|
||||
SWEP.RangeMin = 10
|
||||
SWEP.Range = 160
|
||||
SWEP.Penetration = 30
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil
|
||||
SWEP.MuzzleVelocity = 470
|
||||
SWEP.PhysBulletMuzzleVelocity = 470
|
||||
|
||||
SWEP.BodyDamageMults = ArcCW.UC.BodyDamageMults
|
||||
|
||||
-- Jamming --
|
||||
|
||||
SWEP.MalfunctionTakeRound = false
|
||||
SWEP.MalfunctionMean = math.huge -- Theoretically it will never malfunction
|
||||
|
||||
-- Mag size --
|
||||
|
||||
SWEP.ChamberSize = 0
|
||||
SWEP.Primary.ClipSize = 6
|
||||
SWEP.RejectMagSizeChange = true -- Signals to attachments that mag size shouldn't be changeable; needs to be implemented attachment-side with att.Compatible
|
||||
SWEP.UC_CanManualAction = true -- In case this ever applies to anything other than shotguns
|
||||
|
||||
-- Recoil --
|
||||
|
||||
SWEP.Recoil = 2.5
|
||||
SWEP.RecoilSide = 1
|
||||
|
||||
SWEP.RecoilRise = 1
|
||||
SWEP.VisualRecoilMult = 1.5
|
||||
SWEP.MaxRecoilBlowback = 2
|
||||
SWEP.MaxRecoilPunch = 6
|
||||
|
||||
SWEP.Sway = 1.1
|
||||
|
||||
-- Firerate / Firemodes --
|
||||
|
||||
SWEP.TriggerDelay = true
|
||||
|
||||
SWEP.Delay = 0.25
|
||||
SWEP.Num = 1
|
||||
SWEP.FiremodeSound = false
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 1,
|
||||
PrintName = "ur.329.dact",
|
||||
},
|
||||
{
|
||||
Mode = 0,
|
||||
PrintName = "fcg.safe2",
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.ShootPitch = 100
|
||||
SWEP.ShootVol = 120
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.ReloadInSights = false -- can't in mw and can't here
|
||||
|
||||
-- NPC --
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_357"
|
||||
SWEP.NPCWeight = 70
|
||||
|
||||
-- Accuracy --
|
||||
|
||||
SWEP.AccuracyMOA = 5
|
||||
SWEP.HipDispersion = 500
|
||||
SWEP.MoveDispersion = 250
|
||||
SWEP.JumpDispersion = 1000
|
||||
|
||||
SWEP.Primary.Ammo = "357"
|
||||
SWEP.MagID = "deagle"
|
||||
|
||||
-- Speed multipliers --
|
||||
|
||||
SWEP.SpeedMult = 0.95
|
||||
SWEP.SightedSpeedMult = 0.9
|
||||
SWEP.SightTime = 0.25
|
||||
SWEP.ShootSpeedMult = 0.8
|
||||
|
||||
-- Length --
|
||||
|
||||
SWEP.BarrelLength = 12
|
||||
SWEP.ExtraSightDist = 10
|
||||
|
||||
-- Ironsights / Customization / Poses --
|
||||
|
||||
SWEP.HoldtypeHolstered = "normal"
|
||||
SWEP.HoldtypeActive = "revolver"
|
||||
SWEP.HoldtypeSights = "revolver"
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-2.7, 2, 0.733),
|
||||
Ang = Angle(0, 0, 0),
|
||||
Magnification = 1,
|
||||
SwitchToSound = "",
|
||||
ViewModelFOV = 55,
|
||||
}
|
||||
|
||||
SWEP.ActivePos = Vector(0, 2, 0.9)
|
||||
SWEP.ActiveAng = Angle(0, 0, -1)
|
||||
|
||||
SWEP.CustomizePos = Vector(2, 0, -1.5)
|
||||
SWEP.CustomizeAng = Angle(15, 15, 05)
|
||||
|
||||
SWEP.CrouchPos = Vector(-2.2, 1, 0.6)
|
||||
SWEP.CrouchAng = Angle(0, 0, -14)
|
||||
|
||||
SWEP.HolsterPos = Vector(-1, 2, 1)
|
||||
SWEP.HolsterAng = Angle(-15.5, 2, -4)
|
||||
|
||||
SWEP.SprintPos = Vector(0.3, 1, 0)
|
||||
SWEP.SprintAng = Angle(-3, 9, -12)
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-7.5, 4, -4.5),
|
||||
ang = Angle(-6, 0, 180),
|
||||
bone = "ValveBiped.Bip01_R_Hand",
|
||||
}
|
||||
|
||||
-- Weapon sounds --
|
||||
|
||||
local path = ")weapons/arccw_ur/sw329/"
|
||||
local path1 = ")weapons/arccw_ur/sw586/"
|
||||
local path2 = ")weapons/arccw_ur/1911/"
|
||||
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"}
|
||||
|
||||
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-01.ogg",
|
||||
path .. "fire-02.ogg",
|
||||
path .. "fire-03.ogg",
|
||||
path .. "fire-04.ogg",
|
||||
path .. "fire-05.ogg",
|
||||
path .. "fire-06.ogg"
|
||||
}
|
||||
|
||||
SWEP.DistantShootSound = nil
|
||||
SWEP.DistantShootSoundSilenced = nil
|
||||
SWEP.ShootDrySound = {common .. "revolver_hammer-01.ogg", common .. "revolver_hammer-02.ogg", common .. "revolver_hammer-03.ogg"}
|
||||
|
||||
local tail = ")/arccw_uc/common/44mag/"
|
||||
|
||||
SWEP.DistantShootSoundOutdoors = {
|
||||
tail .. "fire-dist-44mag-pistol-ext-01.ogg",
|
||||
tail .. "fire-dist-44mag-pistol-ext-02.ogg",
|
||||
tail .. "fire-dist-44mag-pistol-ext-03.ogg",
|
||||
tail .. "fire-dist-44mag-pistol-ext-04.ogg",
|
||||
tail .. "fire-dist-44mag-pistol-ext-05.ogg",
|
||||
tail .. "fire-dist-44mag-pistol-ext-06.ogg"
|
||||
}
|
||||
SWEP.DistantShootSoundIndoors = {
|
||||
common .. "fire-dist-int-shotgun-01.ogg",
|
||||
common .. "fire-dist-int-shotgun-02.ogg",
|
||||
common .. "fire-dist-int-shotgun-03.ogg",
|
||||
common .. "fire-dist-int-shotgun-04.ogg",
|
||||
common .. "fire-dist-int-shotgun-05.ogg",
|
||||
common .. "fire-dist-int-shotgun-06.ogg"
|
||||
}
|
||||
SWEP.DistantShootSoundOutdoorsSilenced = {
|
||||
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.DistantShootSoundIndoorsSilenced = {
|
||||
common .. "fire-dist-int-shotgun-01.ogg",
|
||||
common .. "fire-dist-int-shotgun-02.ogg",
|
||||
common .. "fire-dist-int-shotgun-03.ogg",
|
||||
common .. "fire-dist-int-shotgun-04.ogg",
|
||||
common .. "fire-dist-int-shotgun-05.ogg",
|
||||
common .. "fire-dist-int-shotgun-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"
|
||||
}
|
||||
|
||||
SWEP.DefaultBodygroups = "000000000"
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["ur_329_barrel_m29"] = {
|
||||
VMBodygroups = { { ind = 1, bg = 1 } },
|
||||
NameChange = "Thunderbolt .44",
|
||||
TrueNameChange = "Model 29"
|
||||
},
|
||||
["ur_329_barrel_master"] = {
|
||||
VMBodygroups = { { ind = 1, bg = 2 } },
|
||||
NameChange = "Thunderbolt .44 Master",
|
||||
TrueNameChange = "Model 29"
|
||||
},
|
||||
["ur_329_barrel_pocket"] = {
|
||||
VMBodygroups = { { ind = 1, bg = 3 } },
|
||||
NameChange = "Companion .44",
|
||||
TrueNameChange = "Model 629"
|
||||
}
|
||||
}
|
||||
|
||||
-- Animations --
|
||||
|
||||
SWEP.Hook_Think = ArcCW.UC.ADSReload
|
||||
SWEP.RevolverReload = true
|
||||
|
||||
SWEP.Hook_TranslateAnimation = function(wep,anim)
|
||||
if wep:GetCurrentFiremode().Override_ManualAction and anim == "fire_dry" then
|
||||
return "fire_dry_sact"
|
||||
end
|
||||
if wep:GetCurrentFiremode().Override_ManualAction and anim ~= "fire" and (anim ~= "reload" or !wep:GetNeedCycle()) then
|
||||
return anim .. "_cocked"
|
||||
end
|
||||
end
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle",
|
||||
Time = 3,
|
||||
},
|
||||
["idle_cocked"] = {
|
||||
Source = "idle_cocked",
|
||||
Time = 3,
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "ready",
|
||||
Time = 86 / 60,
|
||||
SoundTable = {
|
||||
{s = path2 .. "draw.ogg", t = 0},
|
||||
{ s = path1 .. "cylinder_in.ogg", t = 0.2 },
|
||||
{s = common .. "raise.ogg", t = 0.55},
|
||||
},
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
Time = 0.7,
|
||||
MinProgress = .4,
|
||||
SoundTable = {
|
||||
{s = path2 .. "draw.ogg", t = 0}, -- Not Temporary
|
||||
{s = common .. "raise.ogg", t = 0.05},
|
||||
},
|
||||
},
|
||||
["draw_cocked"] = {
|
||||
Source = "draw_cocked",
|
||||
Time = 0.7,
|
||||
MinProgress = .4,
|
||||
SoundTable = {
|
||||
{s = path2 .. "draw.ogg", t = 0}, -- Not Temporary
|
||||
{s = common .. "raise.ogg", t = 0.05},
|
||||
},
|
||||
},
|
||||
["holster"] = {
|
||||
Source = "holster",
|
||||
Time = 0.5,
|
||||
SoundTable = {
|
||||
{s = common .. "cloth_2.ogg", t = 0},
|
||||
{s = path2 .. "holster.ogg", t = 0.12}, -- Not Temporary
|
||||
},
|
||||
},
|
||||
["holster_cocked"] = {
|
||||
Source = "holster_cocked",
|
||||
Time = 0.5,
|
||||
SoundTable = {
|
||||
{s = common .. "cloth_2.ogg", t = 0},
|
||||
{s = path2 .. "holster.ogg", t = 0.12}, -- Not Temporary
|
||||
},
|
||||
},
|
||||
|
||||
["fire"] = {
|
||||
Source = "fire",
|
||||
SoundTable = {
|
||||
{ s = {common .. "revolver_hammer-01.ogg", common .. "revolver_hammer-02.ogg", common .. "revolver_hammer-03.ogg"}, t = 0 }
|
||||
},
|
||||
MinProgress = .2,
|
||||
},
|
||||
["fire_dry"] = {
|
||||
Source = "dryfire",
|
||||
SoundTable = {
|
||||
{ s = {common .. "revolver_hammer-01.ogg", common .. "revolver_hammer-02.ogg", common .. "revolver_hammer-03.ogg"}, t = 0 }
|
||||
},
|
||||
},
|
||||
["fire_dry_sact"] = {
|
||||
Source = "dryfire_sact",
|
||||
SoundTable = {
|
||||
{ s = {common .. "revolver_hammer-01.ogg", common .. "revolver_hammer-02.ogg", common .. "revolver_hammer-03.ogg"}, t = 0 },
|
||||
{ s = { common .. "revolver_trigger-01.ogg", common .. "revolver_trigger-03.ogg" }, t = 0.25 + 0.2 },
|
||||
},
|
||||
},
|
||||
|
||||
["trigger"] = {
|
||||
Source = "trigger",
|
||||
Time = 0.1,
|
||||
SoundTable = {
|
||||
{ s = { common .. "revolver_trigger-01.ogg", common .. "revolver_trigger-02.ogg", common .. "revolver_trigger-03.ogg" }, t = 0 }
|
||||
},
|
||||
},
|
||||
|
||||
["cycle"] = {
|
||||
Source = "cocking",
|
||||
MinProgress = 0.5,
|
||||
SoundTable = {
|
||||
{ s = { common .. "revolver_trigger-01.ogg", common .. "revolver_trigger-03.ogg" }, t = 0.2 }
|
||||
}
|
||||
},
|
||||
|
||||
["fix"] = {
|
||||
Source = "cocking",
|
||||
MinProgress = 0.5,
|
||||
SoundTable = {
|
||||
{ s = { common .. "revolver_trigger-01.ogg", common .. "revolver_trigger-03.ogg" }, t = 0.2 }
|
||||
}
|
||||
},
|
||||
|
||||
["1_to_2"] = {
|
||||
Source = "cocking",
|
||||
Time = 0.8,
|
||||
SoundTable = {
|
||||
{ s = { common .. "revolver_trigger-01.ogg", common .. "revolver_trigger-03.ogg" }, t = 0.1 }
|
||||
}
|
||||
},
|
||||
["2_to_1"] = {
|
||||
Source = "decocking",
|
||||
Time = 0.8,
|
||||
SoundTable = {
|
||||
{ s = common .. "revolver_trigger-02.ogg", t = 0.1 }
|
||||
}
|
||||
},
|
||||
["2_to_3"] = {
|
||||
Source = "decocking",
|
||||
Time = 0.8,
|
||||
SoundTable = {
|
||||
{ s = common .. "revolver_trigger-02.ogg", t = 0.1 }
|
||||
}
|
||||
},
|
||||
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_REVOLVER,
|
||||
Time = 3.0,
|
||||
MinProgress = 1.8,
|
||||
ShellEjectAt = 1,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.2,
|
||||
LHIKEaseIn = 0.2,
|
||||
LHIKEaseOut = 0.6,
|
||||
LHIKOut = 0.62,
|
||||
SoundTable = {
|
||||
{ s = rottle, t = 0 },
|
||||
{ s = path .. "cyl_latch.ogg", t = 0.1 },
|
||||
{ s = path1 .. "cylinder_out.ogg", t = 0.2 },
|
||||
{ s = path1 .. "extractor1.ogg", t = 0.65 },
|
||||
{ s = path1 .. "extract1.ogg", t = 0.65, p = 110, v = 0.25 },
|
||||
{ s = path1 .. "extractor2.ogg", t = 0.75, p = 110 },
|
||||
{ s = path1 .. "cylinder_extract.ogg", t = 0.75 },
|
||||
{ s = path1 .. "extractor2.ogg", t = 0.825 },
|
||||
{ s = common .. "magpouch_pull_small.ogg", t = 1.2, v = 0.2 },
|
||||
{ s = path1 .. "speedloader.ogg", t = 1.65 },
|
||||
{ s = path1 .. "cylinder_in.ogg", t = 2.15 },
|
||||
{ s = rottle, t = 2.4 },
|
||||
},
|
||||
},
|
||||
["reload_cocked"] = {
|
||||
Source = "reload_cocked",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_REVOLVER,
|
||||
Time = 3.0,
|
||||
MinProgress = 1.8,
|
||||
ShellEjectAt = 1,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.2,
|
||||
LHIKEaseIn = 0.2,
|
||||
LHIKEaseOut = 0.6,
|
||||
LHIKOut = 0.62,
|
||||
SoundTable = {
|
||||
{ s = rottle, t = 0 },
|
||||
{ s = path .. "cyl_latch.ogg", t = 0.1 },
|
||||
{ s = path1 .. "cylinder_out.ogg", t = 0.2 },
|
||||
{ s = path1 .. "extractor1.ogg", t = 0.65 },
|
||||
{ s = path1 .. "extract1.ogg", t = 0.65, p = 110, v = 0.25 },
|
||||
{ s = path1 .. "extractor2.ogg", t = 0.75, p = 110 },
|
||||
{ s = path1 .. "cylinder_extract.ogg", t = 0.75 },
|
||||
{ s = path1 .. "extractor2.ogg", t = 0.825 },
|
||||
{ s = common .. "magpouch_pull_small.ogg", t = 1.2, v = 0.2 },
|
||||
{ s = path1 .. "speedloader.ogg", t = 1.65 },
|
||||
{ s = path1 .. "cylinder_in.ogg", t = 2.15 },
|
||||
{ s = rottle, t = 2.4 },
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
-- Attachments --
|
||||
|
||||
SWEP.CamAttachment = 3
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic",
|
||||
Slot = {"optic_lp"},
|
||||
DefaultAttName = "Iron Sights",
|
||||
Bone = "Body",
|
||||
Offset = {
|
||||
vpos = Vector(3, -3.6, 0),
|
||||
vang = Angle(0, 0, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Barrel",
|
||||
Slot = {"ur_329_barrel"},
|
||||
DefaultAttIcon = Material("entities/att/acwatt_ur_329_barrel.png","mips smooth"),
|
||||
DefaultAttName = "4\" Snubnose Barrel",
|
||||
Bone = "Body",
|
||||
Offset = {
|
||||
vpos = Vector(3.07, -3.8, -27),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Caliber",
|
||||
Slot = {"ur_329_caliber"},
|
||||
DefaultAttIcon = Material("entities/att/uc_bullets/44magnum.png","mips smooth"),
|
||||
DefaultAttName = ".44 Magnum",
|
||||
Bone = "Body",
|
||||
Offset = {
|
||||
vpos = Vector(3.07, -3.8, -27),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
InstalledEles = {"tac_rail"},
|
||||
Slot = {"tac_pistol"},
|
||||
Bone = "Body",
|
||||
Offset = {
|
||||
vpos = Vector(6.75, -2.5, 0),
|
||||
vang = Angle(0, 0, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Grip",
|
||||
Slot = {"ur_329_grip", "uc_stock", "go_stock_pistol_bt"},
|
||||
Bone = "Body",
|
||||
Offset = {
|
||||
vpos = Vector(-2, 2, 0),
|
||||
vang = Angle(0, 0, -90),
|
||||
},
|
||||
},
|
||||
--[[]
|
||||
{
|
||||
PrintName = "Grip",
|
||||
DefaultAttName = "Factory Grip",
|
||||
DefaultAttIcon = Material("entities/att/acwatt_ur_329_grip.png","mips smooth"),
|
||||
Slot = "ur_329_grip"
|
||||
},
|
||||
]]
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
DefaultAttName = "\"FMJ\" Full Metal Jacket",
|
||||
DefaultAttIcon = Material("entities/att/arccw_uc_ammo_generic.png", "mips smooth"),
|
||||
Slot = "uc_ammo",
|
||||
ExcludeFlags = {"329_ss"}
|
||||
},
|
||||
{
|
||||
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(7.1, -2.4, -0.1),
|
||||
vang = Angle(0, 0, -90),
|
||||
},
|
||||
VMScale = Vector(.75,.75,.75),
|
||||
},
|
||||
}
|
||||
1558
gamemodes/darkrp/plugins/arccwbase/entities/weapons/arccw_ur_ak.lua
Normal file
1558
gamemodes/darkrp/plugins/arccwbase/entities/weapons/arccw_ur_ak.lua
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,942 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Modern Weaponry" -- edit this if you like
|
||||
SWEP.UC_CategoryPack = "2Urban Renewal"
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "AWP"
|
||||
|
||||
SWEP.Trivia_Class = "Sniper Rifle"
|
||||
SWEP.Trivia_Desc = "A heavy rifle purpose-built for extreme range combat under extreme climates, first developed for the British military but quickly adopted by many more. Iconic for its appearance among military and police marksmen, this rifle is a symbol of discipline and order.\n\nOffers outstanding precision and kill potential, but its long bolt pull and reload time can become a hinderance outside its ideal engagement range.\n\nOne shot. One kill. You know the routine."
|
||||
SWEP.Trivia_Manufacturer = "Accuracy International"
|
||||
SWEP.Trivia_Calibre = "7.62x51mm NATO"
|
||||
SWEP.Trivia_Mechanism = "Bolt Action"
|
||||
SWEP.Trivia_Country = "United Kingdom"
|
||||
SWEP.Trivia_Year = 1982
|
||||
|
||||
if !GetConVar("arccw_truenames"):GetBool() then
|
||||
SWEP.PrintName = "Apex Precision"
|
||||
SWEP.Trivia_Manufacturer = "Marksman Institute"
|
||||
end
|
||||
|
||||
|
||||
SWEP.Slot = 3
|
||||
SWEP.CamAttachment = 3
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arccw/c_ur_aw.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arccw/c_ur_aw.mdl"
|
||||
SWEP.ViewModelFOV = 70
|
||||
|
||||
SWEP.DefaultBodygroups = "000000000000"
|
||||
|
||||
SWEP.BulletBones = {
|
||||
--[1] = "top_round",
|
||||
[2] = "mag_round",
|
||||
}
|
||||
|
||||
-- Damage --
|
||||
|
||||
SWEP.Damage = 95 -- 2 shot close range
|
||||
SWEP.DamageMin = 95 -- 2 shot long range
|
||||
SWEP.RangeMin = 100
|
||||
SWEP.Range = 400 -- 2 shot at ~300m
|
||||
|
||||
SWEP.Penetration = 30
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil
|
||||
SWEP.MuzzleVelocity = 1050
|
||||
SWEP.PhysBulletMuzzleVelocity = 1400
|
||||
|
||||
SWEP.BodyDamageMults = ArcCW.UC.BodyDamageMults
|
||||
|
||||
-- Mag size --
|
||||
|
||||
SWEP.ChamberSize = 1
|
||||
SWEP.Primary.ClipSize = 5
|
||||
SWEP.ExtendedClipSize = 10
|
||||
SWEP.ReducedClipSize = 5
|
||||
|
||||
-- Recoil --
|
||||
|
||||
SWEP.Recoil = 3.3
|
||||
SWEP.RecoilSide = 0.550
|
||||
|
||||
SWEP.RecoilRise = 0.1
|
||||
SWEP.RecoilPunch = 2.5
|
||||
SWEP.VisualRecoilMult = 5
|
||||
SWEP.MaxRecoilBlowback = 4
|
||||
SWEP.MaxRecoilPunch = 4
|
||||
SWEP.RecoilPunchBack = 3
|
||||
SWEP.RecoilPunchBackMax = 3.5
|
||||
SWEP.RecoilPunchBackMaxSights = 2.5
|
||||
|
||||
SWEP.Sway = 0.2
|
||||
|
||||
-- Firerate / Firemodes --
|
||||
|
||||
SWEP.Delay = 60 / 80
|
||||
SWEP.Num = 1
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
PrintName = "fcg.bolt",
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0,
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.ShootPitch = 100
|
||||
SWEP.ShootVol = 120
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.ReloadInSights = true
|
||||
|
||||
-- NPC --
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_crossbow"
|
||||
SWEP.NPCWeight = 100
|
||||
|
||||
-- Accuracy --
|
||||
|
||||
SWEP.AccuracyMOA = .5
|
||||
SWEP.HipDispersion = 1500
|
||||
SWEP.MoveDispersion = 25
|
||||
SWEP.JumpDispersion = 700 -- tactical unrealism set to 700 later
|
||||
|
||||
SWEP.Primary.Ammo = "ar2"
|
||||
SWEP.MagID = "awp"
|
||||
|
||||
SWEP.HeatCapacity = 75
|
||||
SWEP.HeatDissipation = 15
|
||||
SWEP.HeatDelayTime = 3
|
||||
|
||||
-- SWEP.Malfunction = true
|
||||
SWEP.MalfunctionMean = 200
|
||||
--SWEP.MeleeTime = 1.5
|
||||
|
||||
-- Speed multipliers --
|
||||
|
||||
SWEP.SpeedMult = 0.8
|
||||
SWEP.SightedSpeedMult = 0.5
|
||||
SWEP.SightTime = 0.4
|
||||
SWEP.ShootSpeedMult = 0.5
|
||||
|
||||
local path = ")weapons/arccw_ur/ak/"
|
||||
|
||||
local testpath = ")weapons/arccw_ur/aw_placeholders/"
|
||||
local path1 = ")weapons/arccw_ur/aw_placeholders/338/"
|
||||
|
||||
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"}
|
||||
local rutle = {common .. "movement-sniper-03.ogg",common .. "movement-sniper-04.ogg"}
|
||||
|
||||
SWEP.ShootSound = {
|
||||
testpath .. "fire-01.ogg",
|
||||
testpath .. "fire-02.ogg",
|
||||
testpath .. "fire-03.ogg",
|
||||
testpath .. "fire-04.ogg",
|
||||
testpath .. "fire-05.ogg",
|
||||
testpath .. "fire-06.ogg"
|
||||
}
|
||||
SWEP.ShootSoundSilenced = {
|
||||
testpath .. "fire-sup-01.ogg",
|
||||
testpath .. "fire-sup-02.ogg",
|
||||
testpath .. "fire-sup-03.ogg",
|
||||
testpath .. "fire-sup-04.ogg",
|
||||
testpath .. "fire-sup-05.ogg",
|
||||
testpath .. "fire-sup-06.ogg"
|
||||
}
|
||||
SWEP.DistantShootSound = nil
|
||||
SWEP.DistantShootSoundSilenced = nil
|
||||
SWEP.ShootDrySound = testpath .. "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 = {
|
||||
common .. "fire-dist-int-shotgun-01.ogg",
|
||||
common .. "fire-dist-int-shotgun-02.ogg",
|
||||
common .. "fire-dist-int-shotgun-03.ogg",
|
||||
common .. "fire-dist-int-shotgun-04.ogg",
|
||||
common .. "fire-dist-int-shotgun-05.ogg",
|
||||
common .. "fire-dist-int-shotgun-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 = 1
|
||||
SWEP.Hook_AddShootSound = ArcCW.UC.InnyOuty
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_ak47"
|
||||
SWEP.ShellEffect = "arccw_uc_shelleffect"
|
||||
SWEP.ShellModel = "models/weapons/arccw/uc_shells/556x45.mdl"
|
||||
SWEP.ShellPitch = 90
|
||||
SWEP.ShellScale = 1.145
|
||||
SWEP.ShellRotateAngle = Angle(0, 0, 0)
|
||||
|
||||
SWEP.ManualAction = true
|
||||
-- SWEP.ManualAction = false
|
||||
SWEP.NoLastCycle = true
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-3.37, -5, 0.68),
|
||||
Ang = Angle(0, 0, 2),
|
||||
Magnification = 1.1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
CrosshairInSights = false
|
||||
}
|
||||
SWEP.LaserOffsetAngle = Angle(0, 0, 0)
|
||||
SWEP.LaserIronsAngle = Angle(0, 1.5, 0)
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
SWEP.ActivePos = Vector(-0.1, 0.1, 0.2)
|
||||
SWEP.ActiveAng = Angle(0, 0, -1)
|
||||
|
||||
SWEP.SprintPos = Vector(-1, -1, 1.2)
|
||||
SWEP.SprintAng = Angle(-15, 8, -10)
|
||||
|
||||
SWEP.CrouchPos = Vector(-2, -2, -0.8)
|
||||
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(0, 0, 0)
|
||||
SWEP.CustomizeAng = Angle(0, 0, 0)
|
||||
|
||||
-- SWEP.CustomizePos = Vector(6.5, 0.8, -0.2)
|
||||
-- SWEP.CustomizeAng = Angle(8, 18, 15)
|
||||
|
||||
SWEP.BarrelLength = 54
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["barrel_long"] = {
|
||||
VMBodygroups = {{ind = 2, bg = 1}},
|
||||
AttPosMods = {[3] = {
|
||||
vpos = Vector(0, 40, 1.75),
|
||||
vang = Angle(0, 270, 0),
|
||||
}}
|
||||
},
|
||||
["barrel_short"] = {
|
||||
VMBodygroups = {{ind = 2, bg = 2}},
|
||||
AttPosMods = {[3] = {
|
||||
vpos = Vector(0, 28, 1.75),
|
||||
vang = Angle(0, 270, 0),
|
||||
}}
|
||||
},
|
||||
["barrel_sd"] = {
|
||||
VMBodygroups = {{ind = 2, bg = 3}}
|
||||
},
|
||||
|
||||
["mag_338"] = {
|
||||
--VMBodygroups = {{ind = 3, bg = 2}}
|
||||
},
|
||||
["mag_300"] = {
|
||||
--VMBodygroups = {{ind = 3, bg = 2}}
|
||||
},
|
||||
["mag_ext"] = {
|
||||
--VMBodygroups = {{ind = 3, bg = 1}}
|
||||
},
|
||||
["mag_ext_magnum"] = {
|
||||
--VMBodygroups = {{ind = 3, bg = 3}}
|
||||
},
|
||||
|
||||
["rail_bottom"] = {
|
||||
VMBodygroups = {{ind = 6, bg = 1}}
|
||||
},
|
||||
["rail_top"] = {
|
||||
VMBodygroups = {{ind = 7, bg = 1}}
|
||||
},
|
||||
["sights_compact"] = {
|
||||
VMBodygroups = {{ind = 8, bg = 2}},
|
||||
Override_IronSightStruct = {
|
||||
Pos = Vector(-3.395, -5, 1.35),
|
||||
Ang = Angle(0, 0, 2),
|
||||
Magnification = 1,
|
||||
}
|
||||
},
|
||||
["sights_flipped"] = {
|
||||
VMBodygroups = {{ind = 8, bg = 1}}
|
||||
},
|
||||
|
||||
["skin_black"] = {
|
||||
VMSkin = 1
|
||||
},
|
||||
["skin_tan"] = {
|
||||
VMSkin = 2
|
||||
},
|
||||
["skin_cust"] = {
|
||||
VMSkin = 3
|
||||
},
|
||||
|
||||
["stock_at"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 1}}
|
||||
},
|
||||
["stock_ru"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 2}}
|
||||
},
|
||||
["stock_ru_rubber"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 3}}
|
||||
},
|
||||
["stock_fixed"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 4, bg = 4},
|
||||
{ind = 5, bg = 1},
|
||||
}
|
||||
},
|
||||
["stock_none"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 4, bg = 5},
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.ExtraSightDist = 2
|
||||
SWEP.GuaranteeLaser = true
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-7, 5, -4.8),
|
||||
ang = Angle(-12, 0, 180)
|
||||
}
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic",
|
||||
DefaultAttName = "Iron Sights",
|
||||
DefaultAttIcon = Material("entities/att/ur_aw/ironsights.png", "mips smooth"),
|
||||
Slot = {"optic","optic_lp","optic_sniper"},
|
||||
Bone = "tag_weapon",
|
||||
Offset = {
|
||||
vpos = Vector(0, 6, 2.65),
|
||||
vang = Angle(0, -90, 0),
|
||||
},
|
||||
CorrectivePos = Vector(0, 0, 0),
|
||||
CorrectiveAng = Angle(0, 180, 0),
|
||||
VMScale = Vector(1.05, 1.05, 1.05),
|
||||
SlideAmount = {
|
||||
vmin = Vector(0, 5.5, 2.65),
|
||||
vmax = Vector(0, 7, 2.65),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Barrel",
|
||||
DefaultAttName = "24\" Police Barrel",
|
||||
DefaultAttIcon = Material("entities/att/ur_aw/bar_def.png", "mips smooth"),
|
||||
Slot = "ur_aw_barrel",
|
||||
},
|
||||
{
|
||||
PrintName = "Muzzle",
|
||||
DefaultAttName = "Standard Muzzle",
|
||||
Slot = {"muzzle","ur_aw_muzzle"},
|
||||
Bone = "tag_weapon",
|
||||
VMScale = Vector(1.5, 1.5, 1.5),
|
||||
WMScale = VMScale,
|
||||
Offset = {
|
||||
vpos = Vector(0, 35.2, 1.675),
|
||||
vang = Angle(0, 270, 0),
|
||||
},
|
||||
ExcludeFlags = {"barrel_sd"},
|
||||
Installed = "ur_aw_muzzle_brake",
|
||||
},
|
||||
{
|
||||
PrintName = "Caliber",
|
||||
DefaultAttName = "7.62x51mm NATO",
|
||||
DefaultAttIcon = Material("entities/att/uc_bullets/762x51.png", "mips smooth"),
|
||||
Slot = {"ur_aw_cal"},
|
||||
Bone = "tag_weapon",
|
||||
Offset = {
|
||||
vpos = Vector(2.8, -4.2, -11.5),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Magazine",
|
||||
Slot = {"ur_aw_mag"},
|
||||
DefaultAttName = "5-Round Mag",
|
||||
DefaultAttIcon = Material("entities/att/ur_aw/mag308_5.png", "mips smooth"),
|
||||
ExcludeFlags = {"mag_338"}
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = {"foregrip"},
|
||||
Bone = "tag_weapon",
|
||||
Offset = {
|
||||
vpos = Vector(0,16, -.6),
|
||||
vang = Angle(90, -90, -90),
|
||||
},
|
||||
VMScale = Vector(1, 1, 1),
|
||||
InstalledEles = {"rail_bottom"},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = {"tac"},
|
||||
Bone = "tag_weapon",
|
||||
Offset = {
|
||||
vpos = Vector(-1.2, 16, 1.1),
|
||||
vang = Angle(-90, 270, 0),
|
||||
},
|
||||
GivesFlags = {"tac"},
|
||||
InstalledEles = {"rail_top"}
|
||||
},
|
||||
{
|
||||
PrintName = "Stock",
|
||||
Slot = {"ur_aw_stock"},
|
||||
DefaultAttName = "Factory Stock",
|
||||
DefaultAttIcon = Material("entities/att/ur_aw/stock_def.png", "mips smooth"),
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
DefaultAttName = "\"FMJ\" Full Metal Jacket",
|
||||
DefaultAttIcon = Material("entities/att/arccw_uc_ammo_generic.png", "mips smooth"),
|
||||
Slot = "uc_ammo",
|
||||
HideIfBlocked = true
|
||||
},
|
||||
{
|
||||
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 = "tag_weapon",
|
||||
Offset = {
|
||||
vpos = Vector(.85, 4.6, 0.5),
|
||||
vang = Angle(90, -90, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Finish",
|
||||
Slot = {"ur_aw_skin"},
|
||||
FreeSlot = true,
|
||||
DefaultAttName = "Olive Drab",
|
||||
DefaultAttIcon = Material("entities/att/ur_aw/skin_green.png", "mips smooth"),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function SWEP:Hook_TranslateAnimation(anim)
|
||||
|
||||
end
|
||||
|
||||
SWEP.Hook_NameChange = function(wep,name)
|
||||
local atts = wep.Attachments
|
||||
local barr = string.Replace(atts[2].Installed or "default", "ur_aw_barrel_", "")
|
||||
local cal = string.Replace(atts[4].Installed or "default", "ur_aw_cal_", "")
|
||||
local stock = string.Replace(atts[8].Installed or "default", "ur_aw_stock_", "")
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then
|
||||
if cal ~= "default" then
|
||||
return "AWM"
|
||||
elseif barr == "sd" then
|
||||
return "AWS"
|
||||
elseif stock == "at" then
|
||||
return "AT"
|
||||
end
|
||||
else
|
||||
if cal == "338" then
|
||||
return "Apex Magnum"
|
||||
elseif barr == "sd" then
|
||||
return "Apex Spectre"
|
||||
elseif stock == "at" then
|
||||
return "Apex Tactical"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
SWEP.Hook_ModifyBodygroups = function(wep, data)
|
||||
local vm = data.vm
|
||||
if !IsValid(vm) then return end
|
||||
|
||||
local atts = wep.Attachments
|
||||
local cal = string.Replace(atts[4].Installed or "default", "ur_aw_cal_", "")
|
||||
local mag = string.Replace(atts[5].Installed or "default", "ur_aw_mag_", "")
|
||||
local flags = wep:GetWeaponFlags()
|
||||
|
||||
local pistolGrip = table.HasValue(flags,"pistolgrip")
|
||||
|
||||
if cal ~= "default" then
|
||||
if pistolGrip then
|
||||
vm:SetBodygroup(1,3)
|
||||
else
|
||||
vm:SetBodygroup(1,1)
|
||||
end
|
||||
elseif pistolGrip then
|
||||
vm:SetBodygroup(1,2)
|
||||
else
|
||||
vm:SetBodygroup(1,0)
|
||||
end
|
||||
|
||||
if atts[1].Installed then
|
||||
if table.HasValue(flags,"sights_compact") then
|
||||
vm:SetBodygroup(8,3)
|
||||
else
|
||||
vm:SetBodygroup(8,1)
|
||||
end
|
||||
end
|
||||
|
||||
if mag == "10" then
|
||||
vm:SetBodygroup(3,1)
|
||||
elseif mag == "10m" then
|
||||
vm:SetBodygroup(3,3)
|
||||
elseif cal ~= "default" then
|
||||
vm:SetBodygroup(3,2)
|
||||
end
|
||||
end
|
||||
|
||||
SWEP.Animations = {
|
||||
["ready"] = {
|
||||
Source = "cycle",
|
||||
Time = 1.47,
|
||||
MinProgress = 1.3,
|
||||
SoundTable = {
|
||||
{s = ratel, t = 0.07},
|
||||
{s = testpath .. "boltup.ogg", t = 0.1},
|
||||
{s = testpath .. "boltback.ogg", t = 0.2},
|
||||
{s = testpath .. "boltforward.ogg", t = 0.32},
|
||||
{s = testpath .. "boltdown.ogg", t = 0.6},
|
||||
},
|
||||
ProcDraw = true,
|
||||
},
|
||||
["idle"] = {
|
||||
Source = "idle"
|
||||
},
|
||||
["idle_empty"] = {
|
||||
Source = "idle_empty"
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
LHIK = false,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
Time = 35 / 30,
|
||||
MinProgess = .5,
|
||||
SoundTable = {
|
||||
{s = ratel, t = 0},
|
||||
{s = common .. "raise.ogg", t = 0.2},
|
||||
},
|
||||
},
|
||||
["holster"] = {
|
||||
Source = "holster",
|
||||
LHIK = false,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
Time = .75,
|
||||
SoundTable = {
|
||||
{s = ratel, t = 0},
|
||||
},
|
||||
},
|
||||
["draw_empty"] = {
|
||||
Source = "draw_empty",
|
||||
LHIK = false,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 35 / 30,
|
||||
SoundTable = {
|
||||
{s = ratel, t = 0},
|
||||
{s = common .. "raise.ogg", t = 0.2},
|
||||
},
|
||||
},
|
||||
["holster_empty"] = {
|
||||
Source = "holster_empty",
|
||||
LHIK = false,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
SoundTable = {
|
||||
{s = ratel, t = 0},
|
||||
},
|
||||
},
|
||||
["fire"] = {
|
||||
Source = {"fire"},
|
||||
Time = 27 / 30,
|
||||
MinProgress = 0.2,
|
||||
SoundTable = {
|
||||
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_iron"},
|
||||
Time = 27 / 30,
|
||||
MinProgress = 0.2,
|
||||
SoundTable = {
|
||||
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 }},
|
||||
},
|
||||
},
|
||||
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKOut = 1,
|
||||
Time = 85 / 30,
|
||||
LHIKEaseOut = 0.25,
|
||||
MinProgress = 1.5,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0.1},
|
||||
{s = testpath .. "magrel.ogg", t = 0.2},
|
||||
{s = testpath .. "magout.ogg", t = 0.3},
|
||||
{s = rottle, t = 0.75},
|
||||
{s = common .. "magpouch.ogg", t = 0.8, v = 0.4},
|
||||
{s = testpath .. "struggle.ogg", t = 0.9},
|
||||
{s = testpath .. "magin.ogg", t = 1.2},
|
||||
{s = rottle, t = 1.4},
|
||||
{s = ratel, t = 1.5},
|
||||
},
|
||||
},
|
||||
["reload_10"] = {
|
||||
Source = "reload_exte",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKOut = 1.15,
|
||||
LHIKEaseOut = 0.25,
|
||||
MinProgress = 2.5,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0.1},
|
||||
{s = testpath .. "magrel.ogg", t = 0.2},
|
||||
{s = testpath .. "magout.ogg", t = 0.3},
|
||||
{s = rottle, t = 0.75},
|
||||
{s = common .. "magpouch.ogg", t = 0.8, v = 0.4},
|
||||
{s = testpath .. "struggle.ogg", t = 0.9},
|
||||
{s = testpath .. "magin.ogg", t = 1.2},
|
||||
{s = rottle, t = 1.4},
|
||||
{s = ratel, t = 1.5},
|
||||
},
|
||||
},
|
||||
["reload_338"] = {
|
||||
Source = "reload_magnum",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKOut = 1.15,
|
||||
LHIKEaseOut = 0.25,
|
||||
MinProgress = 2.5,
|
||||
Time = 3.4,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0.1},
|
||||
{s = testpath .. "magrel.ogg", t = 0.2},
|
||||
{s = testpath .. "magout.ogg", t = 0.4},
|
||||
{s = rottle, t = 0.75},
|
||||
{s = common .. "magpouch.ogg", t = 0.8, v = 0.4},
|
||||
{s = testpath .. "struggle.ogg", t = 1.1, v = 1.1},
|
||||
{s = testpath .. "magin.ogg", t = 1.3},
|
||||
{s = testpath .. "magtap.ogg", t = 1.95},
|
||||
{s = rottle, t = 2.3, v = 0.6},
|
||||
{s = ratel, t = 2.35, v = 0.6},
|
||||
},
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload_empty",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
LHIK = false,
|
||||
LHIKIn = 0.9,
|
||||
LHIKOut = 1.25,
|
||||
LHIKEaseIn = 0.1,
|
||||
LHIKEaseOut = 0.5,
|
||||
MinProgress = 3.0,
|
||||
ShellEjectAt = .45,
|
||||
LastClip1OutTime = 1.8,
|
||||
Time = 4.5,
|
||||
SoundTable = {
|
||||
{s = ratel, t = 0.05},
|
||||
{s = testpath .. "boltup.ogg", t = 0.15},
|
||||
{s = testpath .. "boltback_reload.ogg", t = 0.18},
|
||||
{s = testpath .. "eject.ogg", t = 0.45},
|
||||
{s = rottle, t = 0.6},
|
||||
{s = testpath .. "magrel.ogg", t = 1.0},
|
||||
{s = testpath .. "magout_empty.ogg", t = 1.2},
|
||||
{s = rottle, t = 1.25},
|
||||
{s = testpath .. "magdrop_metal.ogg", t = 1.5, v = 0.4},
|
||||
{s = common .. "magpouch.ogg", t = 1.6, v = 0.4},
|
||||
{s = rottle, t = 1.65},
|
||||
{s = testpath .. "struggle.ogg", t = 2},
|
||||
{s = testpath .. "magin.ogg", t = 2.1},
|
||||
{s = rottle, t = 2.4},
|
||||
{s = ratel, t = 2.6},
|
||||
{s = testpath .. "boltforward_reload.ogg", t = 2.7},
|
||||
{s = testpath .. "boltdown.ogg", t = 3.1},
|
||||
{s = common .. "shoulder.ogg", t = 3.15},
|
||||
},
|
||||
},
|
||||
["reload_empty_10"] = {
|
||||
Source = "reload_empty_exte",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
LHIK = false,
|
||||
LHIKIn = 0.9,
|
||||
LHIKOut = 1.25,
|
||||
LHIKEaseIn = 0.1,
|
||||
LHIKEaseOut = 0.5,
|
||||
ShellEjectAt = .5,
|
||||
MinProgress = 3.5,
|
||||
LastClip1OutTime = 1.8,
|
||||
Time = 4.5,
|
||||
SoundTable = {
|
||||
{s = ratel, t = 0.05},
|
||||
{s = testpath .. "boltup.ogg", t = 0.15},
|
||||
{s = testpath .. "boltback_reload.ogg", t = 0.18},
|
||||
{s = testpath .. "eject.ogg", t = 0.45},
|
||||
{s = rottle, t = .6},
|
||||
{s = testpath .. "magrel.ogg", t = 1.0},
|
||||
{s = testpath .. "magout_empty.ogg", t = 1.2},
|
||||
{s = rottle, t = 1.25},
|
||||
{s = testpath .. "magdrop_metal.ogg", t = 1.6, v = 0.4},
|
||||
{s = common .. "magpouch.ogg", t = 1.6, v = 0.4},
|
||||
{s = rottle, t = 1.65},
|
||||
{s = testpath .. "struggle.ogg", t = 2.1},
|
||||
{s = testpath .. "magin.ogg", t = 2.2},
|
||||
{s = rottle, t = 2.5},
|
||||
{s = testpath .. "boltforward_reload.ogg", t = 2.8},
|
||||
{s = ratel, t = 2.7},
|
||||
{s = testpath .. "boltdown.ogg", t = 3.2},
|
||||
{s = common .. "shoulder.ogg", t = 3.2},
|
||||
},
|
||||
},
|
||||
["reload_empty_338"] = {
|
||||
Source = "reload_empty_magnum",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
LHIK = false,
|
||||
LHIKIn = 0.9,
|
||||
LHIKOut = 1.25,
|
||||
LHIKEaseIn = 0.1,
|
||||
LHIKEaseOut = 0.5,
|
||||
ShellEjectAt = .5,
|
||||
LastClip1OutTime = 1.5,
|
||||
MinProgress = 4,
|
||||
Time = 4.25,
|
||||
SoundTable = {
|
||||
{s = ratel, t = 0.05},
|
||||
{s = testpath .. "boltup.ogg", t = 0.15},
|
||||
{s = testpath .. "boltback_reload.ogg", t = 0.18},
|
||||
{s = testpath .. "eject.ogg", t = 0.45},
|
||||
{s = rottle, t = 0.6},
|
||||
{s = testpath .. "magrel.ogg", t = 1.0},
|
||||
{s = testpath .. "magout_empty.ogg", t = 1.1},
|
||||
{s = rottle, t = 1.25},
|
||||
{s = testpath .. "magdrop_metal.ogg", t = 1.5, v = 0.4},
|
||||
{s = common .. "magpouch.ogg", t = 1.6, v = 0.4},
|
||||
{s = rottle, t = 1.65},
|
||||
{s = testpath .. "struggle.ogg", t = 1.8},
|
||||
{s = testpath .. "magin.ogg", t = 1.9},
|
||||
{s = rottle, t = 2.4},
|
||||
{s = testpath .. "magtap.ogg", t = 2.5},
|
||||
{s = ratel, t = 2.6},
|
||||
{s = testpath .. "boltforward_reload.ogg", t = 2.7},
|
||||
{s = testpath .. "boltdown.ogg", t = 3.1},
|
||||
{s = common .. "shoulder.ogg", t = 3.15},
|
||||
},
|
||||
},
|
||||
["reload_empty_10_338"] = {
|
||||
Source = "reload_empty_exte_magnum",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.9,
|
||||
LHIKOut = 1.25,
|
||||
LHIKEaseIn = 0.1,
|
||||
LHIKEaseOut = 0.5,
|
||||
MinProgress = 4,
|
||||
LastClip1OutTime = 2.3,
|
||||
Time = 4.5,
|
||||
ShellEjectAt = .5,
|
||||
SoundTable = {
|
||||
{s = ratel, t = 0.05},
|
||||
{s = testpath .. "boltup.ogg", t = 0.15},
|
||||
{s = testpath .. "boltback_reload.ogg", t = 0.18},
|
||||
{s = testpath .. "eject.ogg", t = 0.45},
|
||||
{s = rottle, t = 0.6},
|
||||
{s = testpath .. "magrel.ogg", t = 1.0},
|
||||
{s = testpath .. "magout_empty.ogg", t = 1.1},
|
||||
{s = rottle, t = 1.25},
|
||||
{s = testpath .. "magdrop_metal.ogg", t = 1.5, v = 0.4},
|
||||
{s = common .. "magpouch.ogg", t = 1.6, v = 0.4},
|
||||
{s = rottle, t = 1.65},
|
||||
{s = testpath .. "struggle.ogg", t = 1.85},
|
||||
{s = testpath .. "magin.ogg", t = 2.0},
|
||||
{s = rottle, t = 2.4},
|
||||
{s = testpath .. "magtap.ogg", t = 2.6},
|
||||
{s = ratel, t = 2.6},
|
||||
{s = testpath .. "boltforward_reload.ogg", t = 2.9},
|
||||
{s = testpath .. "boltdown.ogg", t = 3.3},
|
||||
{s = common .. "shoulder.ogg", t = 3.35},
|
||||
},
|
||||
},
|
||||
["reload_10_338"] = {
|
||||
Source = "reload_exte_magnum",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKOut = 0.65,
|
||||
LHIKEaseOut = 0.25,
|
||||
MinProgress = 3,
|
||||
Time = 3.5,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0.1},
|
||||
{s = testpath .. "magrel.ogg", t = 0.2},
|
||||
{s = testpath .. "magout.ogg", t = 0.4},
|
||||
{s = rottle, t = 0.75},
|
||||
{s = common .. "magpouch.ogg", t = 0.8, v = 0.4},
|
||||
{s = testpath .. "struggle.ogg", t = 1.1, v = 1},
|
||||
{s = testpath .. "magin.ogg", t = 1.4},
|
||||
{s = testpath .. "magtap.ogg", t = 2.0},
|
||||
{s = rottle, t = 2.3, v = 0.6},
|
||||
{s = ratel, t = 2.35, v = 0.6},
|
||||
},
|
||||
},
|
||||
["cycle"] = {
|
||||
Source = "cycle",
|
||||
Time = 1.47,
|
||||
ShellEjectAt = 0.4,
|
||||
MinProgress = 0.9,
|
||||
SoundTable = {
|
||||
{s = ratel, t = 0.07},
|
||||
{s = testpath .. "boltup.ogg", t = 0.1},
|
||||
{s = testpath .. "boltback.ogg", t = 0.2},
|
||||
{s = testpath .. "boltforward.ogg", t = 0.32},
|
||||
{s = testpath .. "eject.ogg", t = 0.4},
|
||||
{s = testpath .. "boltdown.ogg", t = 0.6},
|
||||
|
||||
--{s = common .. "shoulder.ogg", t = 0.7},
|
||||
},
|
||||
},
|
||||
|
||||
["enter_inspect"] = {
|
||||
Source = "inspect_enter",
|
||||
-- time = 35 / 60,
|
||||
LHIK = false,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 2.5,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0},
|
||||
{s = common .. "movement-sniper-03.ogg", t = 0.05},
|
||||
},
|
||||
},
|
||||
["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-sniper-01.ogg", t = 0},
|
||||
{s = rottle, t = 0.25},
|
||||
{s = testpath .. "boltup_inspect.ogg", t = 1.2},
|
||||
{s = common .. "movement-sniper-03.ogg", t = 1.25},
|
||||
{s = testpath .. "boltback_inspect.ogg", t = 1.35},
|
||||
{s = testpath .. "boltforward_inspect.ogg", t = 1.8},
|
||||
{s = testpath .. "boltdown_inspect.ogg", t = 1.9},
|
||||
{s = rottle, t = 2.0},
|
||||
{s = common .. "movement-sniper-04.ogg", t = 2.2},
|
||||
},
|
||||
},
|
||||
["enter_inspect_empty"] = { -- Animations needed!
|
||||
Source = "inspect_enter",
|
||||
-- time = 35 / 60,
|
||||
LHIK = false,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 2.5,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0},
|
||||
{s = rutle, t = 0.1},
|
||||
},
|
||||
},
|
||||
["idle_inspect_empty"] = {
|
||||
Source = "inspect_loop",
|
||||
-- time = 72 / 60,
|
||||
LHIK = false,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 999, -- maybe im dumb
|
||||
},
|
||||
["exit_inspect_empty"] = {
|
||||
Source = "inspect_exit",
|
||||
-- time = 66 / 60,
|
||||
LHIK = false,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 999, -- maybe im dumb
|
||||
SoundTable = {
|
||||
{s = common .. "movement-sniper-01.ogg", t = 0.05},
|
||||
{s = rottle, t = 0.25},
|
||||
{s = testpath .. "boltup_inspect.ogg", t = 1.2},
|
||||
{s = common .. "movement-sniper-03.ogg", t = 1.25},
|
||||
{s = testpath .. "boltback_inspect.ogg", t = 1.35},
|
||||
{s = testpath .. "boltforward_inspect.ogg", t = 1.8},
|
||||
{s = testpath .. "boltdown_inspect.ogg", t = 1.9},
|
||||
{s = rottle, t = 2.0},
|
||||
{s = common .. "movement-sniper-04.ogg", t = 2.2},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Hook_Think = ArcCW.UC.ADSReload
|
||||
@@ -0,0 +1,525 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true
|
||||
SWEP.Category = "Willard - Oldie Weaponry"
|
||||
SWEP.UC_CategoryPack = "2Urban Renewal"
|
||||
SWEP.AdminOnly = false
|
||||
SWEP.UseHands = true
|
||||
|
||||
-- Muzzle and shell effects --
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_shotgun"
|
||||
SWEP.ShellEffect = "arccw_uc_shelleffect"
|
||||
SWEP.ShellModel = "models/weapons/arccw/uc_shells/12g.mdl"
|
||||
SWEP.ShellPitch = 100
|
||||
SWEP.ShellSounds = ArcCW.ShotgunShellSoundsTable
|
||||
SWEP.ShellScale = 1
|
||||
SWEP.UC_ShellColor = Color(0.7*255, 0.2*255, 0.2*255)
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1
|
||||
SWEP.CaseEffectAttachment = 6
|
||||
SWEP.CamAttachment = 7
|
||||
|
||||
-- Fake name --
|
||||
|
||||
SWEP.PrintName = "Volga Super" -- it's marketed to Americans
|
||||
|
||||
-- True name --
|
||||
|
||||
SWEP.TrueName = "IZh-58"
|
||||
|
||||
-- Trivia --
|
||||
|
||||
SWEP.Trivia_Class = "Shotgun"
|
||||
SWEP.Trivia_Desc = [[The design of the double-barrel shotgun is so ubiquitous that it is usually referred to by weapon class instead of model name. These traditional shotguns are very popular in both rural and urban communities around the world for their simplicity and reliability.
|
||||
|
||||
Both barrels can be fired back-to-back in quick, deadly succession, but they must be reloaded frequently. Switch to burst firemode to pull both triggers at once.]]
|
||||
SWEP.Trivia_Manufacturer = "Sikov Machining Plant"
|
||||
SWEP.Trivia_Calibre = "12 Gauge"
|
||||
SWEP.Trivia_Mechanism = "Break Action"
|
||||
SWEP.Trivia_Country = "Soviet Union"
|
||||
SWEP.Trivia_Year = 1958
|
||||
|
||||
-- Weapon slot --
|
||||
|
||||
SWEP.Slot = 3
|
||||
|
||||
-- Weapon's manufacturer real name --
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then
|
||||
SWEP.PrintName = SWEP.TrueName
|
||||
SWEP.Trivia_Manufacturer = "Izhevsk Mechanical Plant"
|
||||
end
|
||||
|
||||
-- Viewmodel / Worldmodel / FOV --
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arccw/c_ur_dbs.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arccw/c_ur_dbs.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_SHOTGUN
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-3, 3, -5),
|
||||
ang = Angle(-12, 0, 180),
|
||||
bone = "ValveBiped.Bip01_R_Hand",
|
||||
scale = 1
|
||||
}
|
||||
|
||||
-- Damage parameters --
|
||||
|
||||
SWEP.Damage = 18 -- 6 pellets to kill
|
||||
SWEP.DamageMin = 10 -- 10 pellets to kill
|
||||
SWEP.Range = 40
|
||||
SWEP.RangeMin = 6
|
||||
SWEP.Num = 8
|
||||
SWEP.Penetration = 2
|
||||
SWEP.DamageType = DMG_BUCKSHOT
|
||||
SWEP.ShootEntity = nil
|
||||
SWEP.MuzzleVelocity = 365
|
||||
SWEP.PhysBulletMuzzleVelocity = 365
|
||||
|
||||
SWEP.HullSize = 0.25
|
||||
|
||||
SWEP.BodyDamageMults = ArcCW.UC.BodyDamageMults_Shotgun
|
||||
|
||||
-- Mag size --
|
||||
|
||||
SWEP.ChamberSize = 0
|
||||
SWEP.Primary.ClipSize = 2
|
||||
SWEP.RejectMagSizeChange = true -- Signals to attachments that mag size shouldn't be changeable; needs to be implemented attachment-side with att.Compatible
|
||||
|
||||
-- Recoil --
|
||||
|
||||
SWEP.Recoil = 2.8
|
||||
SWEP.RecoilSide = 2
|
||||
|
||||
SWEP.RecoilRise = 0.24
|
||||
SWEP.VisualRecoilMult = 0
|
||||
SWEP.MaxRecoilBlowback = 1
|
||||
SWEP.MaxRecoilPunch = 1
|
||||
|
||||
SWEP.Sway = 0.5
|
||||
|
||||
-- Firerate / Firemodes --
|
||||
|
||||
SWEP.Delay = 60 / 350
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 1,
|
||||
PrintName = "fcg.break",
|
||||
},
|
||||
{
|
||||
Mode = 1,
|
||||
PrintName = "ur.spas12.dbl",
|
||||
Mult_AccuracyMOA = 1.15,
|
||||
Mult_HipDispersion = 0.8,
|
||||
Mult_Num = 2,
|
||||
Override_AmmoPerShot = 2,
|
||||
Mult_Damage = 2,
|
||||
Mult_DamageMin = 2,
|
||||
Mult_VisualRecoilMult = 2,
|
||||
|
||||
CustomBars = "--___",
|
||||
},
|
||||
{
|
||||
PrintName = "fcg.safe2",
|
||||
Mode = 0,
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.UC_CanManualAction = true
|
||||
|
||||
SWEP.MalfunctionTakeRound = false
|
||||
SWEP.MalfunctionMean = math.huge -- Theoretically it will never malfunction
|
||||
|
||||
SWEP.ShootVol = 160
|
||||
SWEP.ShootPitch = 100
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.ReloadInSights = false
|
||||
SWEP.RevolverReload = true
|
||||
|
||||
-- NPC --
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_shotgun"
|
||||
SWEP.NPCWeight = 210
|
||||
|
||||
-- Accuracy --
|
||||
|
||||
SWEP.AccuracyMOA = 25
|
||||
SWEP.HipDispersion = 400
|
||||
SWEP.MoveDispersion = 125
|
||||
SWEP.JumpDispersion = 1000
|
||||
|
||||
SWEP.Primary.Ammo = "buckshot"
|
||||
|
||||
-- Speed multipliers --
|
||||
|
||||
SWEP.SpeedMult = 0.91
|
||||
SWEP.SightedSpeedMult = 0.75
|
||||
SWEP.SightTime = 0.25
|
||||
SWEP.ShootSpeedMult = 0.75
|
||||
|
||||
-- Length --
|
||||
|
||||
SWEP.BarrelLength = 49
|
||||
SWEP.ExtraSightDist = 2
|
||||
|
||||
-- Ironsights / Customization / Poses --
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-1.5, 0, 2.5),
|
||||
Ang = Angle(0, 0, 3),
|
||||
Magnification = 1.05,
|
||||
SwitchToSound = "",
|
||||
}
|
||||
|
||||
SWEP.SprintPos = Vector(7, 0, 0)
|
||||
SWEP.SprintAng = Angle(-10, 40, -10)
|
||||
|
||||
SWEP.HolsterPos = Vector(7, 0, 0)
|
||||
SWEP.HolsterAng = Angle(-10, 40, -10)
|
||||
|
||||
SWEP.ActivePos = Vector(1, 1.5, 1.5)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.CrouchPos = Vector(-1, 2, 1)
|
||||
SWEP.CrouchAng = Angle(0, 0, -20)
|
||||
|
||||
SWEP.CustomizePos = Vector(10, 1, 2)
|
||||
SWEP.CustomizeAng = Angle(10, 40, 20)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(3, 0, -4.5)
|
||||
|
||||
-- Firing sounds --
|
||||
|
||||
local path = ")weapons/arccw_ur/dbs/"
|
||||
local common = ")/arccw_uc/common/"
|
||||
SWEP.ShootSoundSilenced = path .. "fire_supp.ogg"
|
||||
--[[SWEP.DistantShootSound = {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"}
|
||||
SWEP.DistantShootSoundSilenced = common .. "sup_tail.ogg"]]
|
||||
SWEP.ShootDrySound = common .. "manual_trigger.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"
|
||||
}
|
||||
|
||||
local tail = ")/arccw_uc/common/12ga/"
|
||||
|
||||
SWEP.DistantShootSoundOutdoors = {
|
||||
tail .. "fire-dist-12ga-pasg-ext-01.ogg",
|
||||
tail .. "fire-dist-12ga-pasg-ext-02.ogg",
|
||||
tail .. "fire-dist-12ga-pasg-ext-03.ogg",
|
||||
tail .. "fire-dist-12ga-pasg-ext-04.ogg",
|
||||
tail .. "fire-dist-12ga-pasg-ext-05.ogg",
|
||||
tail .. "fire-dist-12ga-pasg-ext-06.ogg"
|
||||
}
|
||||
SWEP.DistantShootSoundIndoors = {
|
||||
common .. "fire-dist-int-shotgun-01.ogg",
|
||||
common .. "fire-dist-int-shotgun-02.ogg",
|
||||
common .. "fire-dist-int-shotgun-03.ogg",
|
||||
common .. "fire-dist-int-shotgun-04.ogg",
|
||||
common .. "fire-dist-int-shotgun-05.ogg",
|
||||
common .. "fire-dist-int-shotgun-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 = 1
|
||||
SWEP.Hook_AddShootSound = function(wep,data)
|
||||
ArcCW.UC.InnyOuty(wep)
|
||||
|
||||
if wep:GetCurrentFiremode().Override_AmmoPerShot == 2 then
|
||||
timer.Simple(0.05, function()
|
||||
if IsValid(wep) then
|
||||
wep:EmitSound(wep.ShootSound[math.random(1,#wep.ShootSound)], data.volume * .4, data.pitch, 1, CHAN_WEAPON - 1)
|
||||
end
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
-- Animations --
|
||||
|
||||
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 shellin = {common .. "dbs-shell-insert-01.ogg", common .. "dbs-shell-insert-02.ogg", common .. "dbs-shell-insert-03.ogg", common .. "dbs-shell-insert-04.ogg", common .. "dbs-shell-insert-05.ogg", common .. "dbs-shell-insert-06.ogg", common .. "dbs-shell-insert-07.ogg", common .. "dbs-shell-insert-08.ogg", common .. "dbs-shell-insert-09.ogg", common .. "dbs-shell-insert-10.ogg", common .. "dbs-shell-insert-11.ogg", common .. "dbs-shell-insert-12.ogg"}
|
||||
local shellfall = {path .. "shell-fall-01.ogg", path .. "shell-fall-02.ogg", path .. "shell-fall-03.ogg", path .. "shell-fall-04.ogg"}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle",
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
--Time = 20 / 30,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0},
|
||||
{s = path .. "grab.ogg", t = 0.2},
|
||||
{s = path .. "shoulder.ogg", t = 0.5},
|
||||
},
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "deploy",
|
||||
Time = 26 / 30,
|
||||
SoundTable = {
|
||||
{s = path .. "close.ogg", t = 0.1},
|
||||
{s = common .. "shoulder.ogg", t = 0.2},
|
||||
{s = path .. "shoulder.ogg", t = 0.455},
|
||||
},
|
||||
},
|
||||
["holster"] = {
|
||||
Source = "holster",
|
||||
Time = 20 / 30,
|
||||
SoundTable = ArcCW.UC.HolsterSounds,
|
||||
},
|
||||
|
||||
["fire"] = { -- first barrel
|
||||
Source = "fire",
|
||||
-- Time = 23 / 25,--30,
|
||||
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",
|
||||
-- Time = 23 / 25,--30,
|
||||
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_empty"] = { -- second barrel
|
||||
Source = "fire_empty", -- fire_empty
|
||||
-- Time = 23 / 25,--30,
|
||||
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_empty"] = {
|
||||
Source = "fire_empty", -- fire_empty
|
||||
-- Time = 23 / 25,--30,
|
||||
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_2bst"] = { -- both
|
||||
Source = "fireboth",
|
||||
-- Time = 35 / 25,--30,
|
||||
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 }},
|
||||
MinProgress = 0.3
|
||||
},
|
||||
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
ShellEjectAt = 0.91,
|
||||
SoundTable = {
|
||||
{s = common .. "cloth_4.ogg", t = 0},
|
||||
{s = path .. "open.ogg", t = 0.2},
|
||||
{s = path .. "eject.ogg", t = 0.8},
|
||||
{s = common .. "magpouch_pull_small.ogg", t = 1.0},
|
||||
{s = shellfall, t = 1.0},
|
||||
{s = common .. "cloth_2.ogg", t = 1.1},
|
||||
{s = path .. "struggle.ogg", t = 1.5, v = 0.5},
|
||||
{s = shellin, t = 1.8},
|
||||
{s = path .. "grab.ogg", t = 2.15, v = 0.5},
|
||||
{s = path .. "close.ogg", t = 2.3},
|
||||
{s = common .. "shoulder.ogg", t = 2.4},
|
||||
{s = path .. "shoulder.ogg", t = 2.675},
|
||||
},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.5,
|
||||
MinProgress = 2.05,
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload_empty",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
ShellEjectAt = 1.0,
|
||||
SoundTable = {
|
||||
{s = common .. "cloth_4.ogg", t = 0},
|
||||
{s = path .. "open.ogg", t = 0.3},
|
||||
{s = path .. "eject.ogg", t = 0.8},
|
||||
{s = shellfall, t = 0.9},
|
||||
{s = shellfall, t = 0.95},
|
||||
{s = common .. "cloth_2.ogg", t = 1.1},
|
||||
{s = common .. "magpouch_pull_small.ogg", t = 1.2},
|
||||
{s = path .. "struggle.ogg", t = 1.7, v = 0.5},
|
||||
{s = shellin, t = 1.85},
|
||||
{s = shellin, t = 1.9},
|
||||
{s = path .. "grab.ogg", t = 2.17, v = 0.5},
|
||||
{s = path .. "close.ogg", t = 2.3},
|
||||
{s = common .. "shoulder.ogg", t = 2.44},
|
||||
{s = path .. "shoulder.ogg", t = 2.6},
|
||||
},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.5,
|
||||
MinProgress = 2.05,
|
||||
},
|
||||
|
||||
["reload_extractor"] = {
|
||||
Source = "reload2",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
ShellEjectAt = 0.4,
|
||||
SoundTable = {
|
||||
{s = common .. "cloth_4.ogg", t = 0},
|
||||
{s = path .. "open.ogg", t = 0.2},
|
||||
{s = common .. "magpouch_pull_small.ogg", t = 0.5},
|
||||
{s = shellfall, t = 0.4},
|
||||
{s = common .. "cloth_2.ogg", t = 0.6},
|
||||
{s = path .. "struggle.ogg", t = 1.0, v = 0.5},
|
||||
{s = shellin, t = 1.2},
|
||||
{s = path .. "grab.ogg", t = 1.5, v = 0.5},
|
||||
{s = path .. "close.ogg", t = 1.7},
|
||||
{s = common .. "shoulder.ogg", t = 1.8},
|
||||
{s = path .. "shoulder.ogg", t = 2.2},
|
||||
},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.5,
|
||||
MinProgress = 1.3,
|
||||
},
|
||||
["reload_empty_extractor"] = {
|
||||
Source = "reload2_empty",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
ShellEjectAt = 0.4,
|
||||
SoundTable = {
|
||||
{s = common .. "cloth_4.ogg", t = 0},
|
||||
{s = path .. "open.ogg", t = 0.2},
|
||||
{s = common .. "magpouch_pull_small.ogg", t = 0.5},
|
||||
{s = shellfall, t = 0.4},
|
||||
{s = shellfall, t = 0.45},
|
||||
{s = common .. "cloth_2.ogg", t = 0.6},
|
||||
{s = path .. "struggle.ogg", t = 1.0, v = 0.5},
|
||||
{s = shellin, t = 1.2},
|
||||
{s = shellin, t = 1.25},
|
||||
{s = path .. "grab.ogg", t = 1.5, v = 0.5},
|
||||
{s = path .. "close.ogg", t = 1.7},
|
||||
{s = common .. "shoulder.ogg", t = 1.8},
|
||||
{s = path .. "shoulder.ogg", t = 2.2},
|
||||
},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.5,
|
||||
MinProgress = 1.3,
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.BulletBones = {
|
||||
--[1] = "1014_shell1",
|
||||
}
|
||||
|
||||
-- Bodygroups --
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["barrel_mid"] = { VMBodygroups = { {ind = 1, bg = 1} } },
|
||||
["barrel_compact"] = { VMBodygroups = { {ind = 1, bg = 4} } },
|
||||
["barrel_sw"] = { VMBodygroups = { {ind = 1, bg = 2} } },
|
||||
["barrel_swplus"] = { VMBodygroups = { {ind = 1, bg = 3}, {ind = 3, bg = 1} } },
|
||||
|
||||
["stock_sw"] = { VMBodygroups = { {ind = 2, bg = 1} } },
|
||||
}
|
||||
|
||||
SWEP.DefaultBodygroups = "00000000"
|
||||
|
||||
SWEP.Attachments = {
|
||||
-- {
|
||||
-- PrintName = "Optic",
|
||||
-- DefaultAttName = "Iron Sights",
|
||||
-- Slot = {"optic_lp","optic"},
|
||||
-- Bone = "barrels",
|
||||
-- Offset = {
|
||||
-- vpos = Vector(0.5, -1.75, 1.5),
|
||||
-- vang = Angle(0, 90, 0),
|
||||
-- },
|
||||
-- VMScale = Vector(1,1,1),
|
||||
-- CorrectivePos = Vector(0, 0, -0.0),
|
||||
-- CorrectiveAng = Angle(0, 180, 0),
|
||||
-- },
|
||||
{
|
||||
PrintName = "Barrel",
|
||||
DefaultAttName = "26\" Factory Barrel",
|
||||
DefaultAttIcon = Material("entities/att/ur_dbs/blong.png", "smooth mips"),
|
||||
Slot = "ur_db_barrel",
|
||||
Bone = "body",
|
||||
Offset = {
|
||||
vpos = Vector(-0.4, -5, -6),
|
||||
vang = Angle(0, 90, 0),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Muzzle",
|
||||
Slot = "choke",
|
||||
},
|
||||
{
|
||||
PrintName = "Stock",
|
||||
Slot = {"ur_db_stock"},
|
||||
DefaultAttName = "Wooden Stock",
|
||||
DefaultAttIcon = Material("entities/att/ur_dbs/s.png", "smooth mips"),
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
DefaultAttName = "\"BUCK\" #00 Buckshot",
|
||||
DefaultAttIcon = Material("entities/att/arccw_uc_ammo_shotgun_generic.png", "mips smooth"),
|
||||
Slot = {"ud_ammo_shotgun"},
|
||||
},
|
||||
{
|
||||
PrintName = "Powder Load",
|
||||
Slot = "uc_powder",
|
||||
DefaultAttName = "Standard Load"
|
||||
},
|
||||
{
|
||||
PrintName = "Training Package",
|
||||
Slot = "uc_tp",
|
||||
DefaultAttName = "Basic Training"
|
||||
},
|
||||
{
|
||||
PrintName = "Internals",
|
||||
Slot = {"uc_fg_singleshot", "uc_db_fg"}, -- Fire group
|
||||
DefaultAttName = "Standard Internals"
|
||||
},
|
||||
{
|
||||
PrintName = "Charm",
|
||||
Slot = {"charm", "fml_charm", "uc_db_tp"},
|
||||
FreeSlot = true,
|
||||
Bone = "body",
|
||||
Offset = {
|
||||
vpos = Vector(-0.55, 1, -0.5),
|
||||
vang = Angle(0, 90, 0),
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,857 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true
|
||||
SWEP.Category = "Willard - Modern Weaponry"
|
||||
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 = 44 -- 2 shot close range kill
|
||||
SWEP.DamageMin = 44 -- 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 = false
|
||||
--SWEP.MalfunctionMean = 21
|
||||
SWEP.MalfunctionPostFire = false
|
||||
SWEP.MalfunctionTakeRound = false
|
||||
|
||||
-- Mag size --
|
||||
|
||||
SWEP.ChamberSize = 1
|
||||
SWEP.Primary.ClipSize = 7
|
||||
SWEP.ExtendedClipSize = 14
|
||||
SWEP.ReducedClipSize = 5
|
||||
|
||||
-- Recoil --
|
||||
|
||||
SWEP.Recoil = 3
|
||||
SWEP.RecoilSide = 1
|
||||
|
||||
SWEP.RecoilRise = 0.75
|
||||
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 = 4
|
||||
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 = {
|
||||
common .. "fire-dist-int-shotgun-01.ogg",
|
||||
common .. "fire-dist-int-shotgun-02.ogg",
|
||||
common .. "fire-dist-int-shotgun-03.ogg",
|
||||
common .. "fire-dist-int-shotgun-04.ogg",
|
||||
common .. "fire-dist-int-shotgun-05.ogg",
|
||||
common .. "fire-dist-int-shotgun-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 --
|
||||
|
||||
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",
|
||||
ProcDraw = true,
|
||||
SoundTable = {
|
||||
--{s = path .. "draw.ogg", t = 0}, -- Not Temporary
|
||||
{s = common .. "raise.ogg", t = 0.05},
|
||||
},
|
||||
},
|
||||
["holster"] = {
|
||||
Source = "holster",
|
||||
ProcHolster = true,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0},
|
||||
--{s = path .. "holster.ogg", t = 0.2}, -- Not Temporary
|
||||
},
|
||||
},
|
||||
|
||||
["fire"] = {
|
||||
Source = {"fire_01", "fire_02", "fire_03"},
|
||||
Time = 0.9,
|
||||
ShellEjectAt = 0.05,
|
||||
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"},
|
||||
Time = 0.9,
|
||||
ShellEjectAt = 0.05,
|
||||
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_jammed"] = {
|
||||
Source = "fire_jammed",
|
||||
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_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 = 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 --
|
||||
-- disabled due to suck balls
|
||||
["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,
|
||||
}
|
||||
}
|
||||
1169
gamemodes/darkrp/plugins/arccwbase/entities/weapons/arccw_ur_g3.lua
Normal file
1169
gamemodes/darkrp/plugins/arccwbase/entities/weapons/arccw_ur_g3.lua
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,901 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true
|
||||
SWEP.Category = "Willard - Oldie Weaponry"
|
||||
SWEP.UC_CategoryPack = "2Urban Renewal"
|
||||
SWEP.AdminOnly = false
|
||||
SWEP.UseHands = true
|
||||
|
||||
-- Muzzle and shell effects --
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_pistol"
|
||||
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 = 90
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1
|
||||
SWEP.CaseEffectAttachment = 2
|
||||
SWEP.CamAttachment = 5
|
||||
SWEP.TracerNum = 0 -- subsonic by default
|
||||
SWEP.TracerWidth = 1
|
||||
SWEP.ShootPitch = 100
|
||||
|
||||
-- Fake name --
|
||||
|
||||
SWEP.PrintName = "AMAS" -- American Automatic Sidearm
|
||||
|
||||
-- True name --
|
||||
|
||||
SWEP.TrueName = "M1911"
|
||||
|
||||
-- Trivia --
|
||||
|
||||
SWEP.Trivia_Class = "Pistol"
|
||||
SWEP.Trivia_Desc = [[Venerable semi-automatic pistol issued by the US Army throughout both World Wars and then some. Even after more than a century of service, it is rarely considered an obsolete design, and its short recoil mechanism has been inherited by most modern pistols.
|
||||
|
||||
Easy to handle and packing respectable stopping power, the antiquated single-stack magazine is its only notable downside.]]
|
||||
SWEP.Trivia_Manufacturer = "Stoner's Legacy Ltd."
|
||||
SWEP.Trivia_Calibre = ".45 ACP"
|
||||
SWEP.Trivia_Mechanism = "Short Recoil"
|
||||
SWEP.Trivia_Country = "USA"
|
||||
SWEP.Trivia_Year = 1911
|
||||
|
||||
-- Weapon slot --
|
||||
|
||||
SWEP.Slot = 1
|
||||
|
||||
-- Weapon's manufacturer real name --
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then
|
||||
SWEP.PrintName = SWEP.TrueName
|
||||
SWEP.Trivia_Manufacturer = "Colt's Manufacturing Company"
|
||||
end
|
||||
|
||||
-- Viewmodel / Worldmodel / FOV --
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arccw/c_ur_m1911.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arccw/c_ur_m1911.mdl"
|
||||
SWEP.ViewModelFOV = 66
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_REVOLVER
|
||||
|
||||
-- Damage parameters --
|
||||
|
||||
SWEP.Damage = 14 -- 3 shot short range kill (2 shot chest point-blank)
|
||||
SWEP.DamageMin = 14 -- 7 shot long range kill
|
||||
SWEP.RangeMin = 10
|
||||
SWEP.Range = 100 -- 3 shot until ~40m
|
||||
SWEP.Penetration = 9
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil
|
||||
|
||||
SWEP.PhysBulletMuzzleVelocity = 253
|
||||
|
||||
SWEP.BodyDamageMults = ArcCW.UC.BodyDamageMults
|
||||
|
||||
-- Jamming --
|
||||
|
||||
--SWEP.Malfunction = true
|
||||
SWEP.MalfunctionJam = false
|
||||
--SWEP.MalfunctionMean = 21
|
||||
SWEP.MalfunctionPostFire = false
|
||||
SWEP.MalfunctionTakeRound = false
|
||||
|
||||
-- Mag size --
|
||||
|
||||
SWEP.ChamberSize = 1
|
||||
SWEP.Primary.ClipSize = 12
|
||||
|
||||
-- Recoil --
|
||||
|
||||
SWEP.Recoil = 1.00
|
||||
SWEP.RecoilSide = 0.75
|
||||
|
||||
SWEP.RecoilRise = 0.30
|
||||
SWEP.VisualRecoilMult = 1.0
|
||||
SWEP.MaxRecoilBlowback = .5
|
||||
SWEP.MaxRecoilPunch = .8
|
||||
|
||||
SWEP.Sway = 1
|
||||
|
||||
-- Firerate / Firemodes --
|
||||
|
||||
SWEP.Delay = 60 / 400
|
||||
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_pistol"
|
||||
SWEP.NPCWeight = 70
|
||||
|
||||
-- Accuracy --
|
||||
|
||||
SWEP.AccuracyMOA = 12
|
||||
SWEP.HipDispersion = 400
|
||||
SWEP.MoveDispersion = 150
|
||||
SWEP.JumpDispersion = 1000
|
||||
|
||||
SWEP.Primary.Ammo = "pistol"
|
||||
SWEP.MagID = "m1911"
|
||||
|
||||
-- Speed multipliers --
|
||||
|
||||
SWEP.SpeedMult = 0.97
|
||||
SWEP.SightedSpeedMult = 0.875
|
||||
SWEP.SightTime = 0.25
|
||||
SWEP.ShootSpeedMult = 1
|
||||
|
||||
-- Length --
|
||||
|
||||
SWEP.BarrelLength = 8
|
||||
SWEP.ExtraSightDist = 10
|
||||
|
||||
-- Ironsights / Customization / Poses --
|
||||
|
||||
SWEP.HolsterPos = Vector(0.3, 3, 1.6)
|
||||
SWEP.HolsterAng = Angle(-14, 0, -0.5)
|
||||
|
||||
SWEP.SprintPos = Vector(0.3, 3, 1)
|
||||
SWEP.SprintAng = Angle(-5, 15, -20)
|
||||
|
||||
SWEP.HoldtypeHolstered = "normal"
|
||||
SWEP.HoldtypeActive = "pistol"
|
||||
SWEP.HoldtypeSights = "revolver"
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-2.33, 10, 1.5),
|
||||
Ang = Angle(0.2, 0.02, 5.5),
|
||||
Magnification = 1,
|
||||
SwitchToSound = "",
|
||||
}
|
||||
|
||||
SWEP.ActivePos = Vector(0.3, 3, 1.3)
|
||||
SWEP.ActiveAng = Angle(0, 0, -0.5)
|
||||
|
||||
SWEP.CustomizePos = Vector(0, 0, 0)
|
||||
SWEP.CustomizeAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.CrouchPos = Vector(-2, 0, 0)
|
||||
SWEP.CrouchAng = Angle(0, 0, -8)
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-9, 4, -4.25),
|
||||
ang = Angle(-6, 0, 180),
|
||||
bone = "ValveBiped.Bip01_R_Hand",
|
||||
}
|
||||
|
||||
-- Weapon sounds --
|
||||
|
||||
local path = ")weapons/arccw_ur/1911/"
|
||||
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-pistol-01.ogg",common .. "movement-pistol-02.ogg",common .. "movement-pistol-03.ogg",common .. "movement-pistol-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-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/45acp/"
|
||||
|
||||
SWEP.DistantShootSoundOutdoors = {
|
||||
tail .. "fire-dist-45acp-pistol-ext-01.ogg",
|
||||
tail .. "fire-dist-45acp-pistol-ext-02.ogg",
|
||||
tail .. "fire-dist-45acp-pistol-ext-03.ogg",
|
||||
tail .. "fire-dist-45acp-pistol-ext-04.ogg",
|
||||
tail .. "fire-dist-45acp-pistol-ext-05.ogg",
|
||||
tail .. "fire-dist-45acp-pistol-ext-06.ogg"
|
||||
}
|
||||
SWEP.DistantShootSoundIndoors = {
|
||||
common .. "fire-dist-int-pistol-01.ogg",
|
||||
common .. "fire-dist-int-pistol-02.ogg",
|
||||
common .. "fire-dist-int-pistol-03.ogg",
|
||||
common .. "fire-dist-int-pistol-04.ogg",
|
||||
common .. "fire-dist-int-pistol-05.ogg",
|
||||
common .. "fire-dist-int-pistol-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 = 1
|
||||
SWEP.Hook_AddShootSound = ArcCW.UC.InnyOuty
|
||||
|
||||
-- Bodygroups --
|
||||
SWEP.BulletBones = {
|
||||
[1] = "mag_round1",
|
||||
[2] = "mag_round2",
|
||||
[3] = "mag_round3",
|
||||
[4] = "mag_round4",
|
||||
[5] = "mag_round5",
|
||||
[6] = "mag_round6",
|
||||
[7] = "mag_round7"
|
||||
}
|
||||
SWEP.DefaultBodygroups = "000000000"
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["ur_1911_slide_compact"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 0, bg = 1},
|
||||
{ind = 1, bg = 1}
|
||||
},
|
||||
AttPosMods = {
|
||||
[4] = {
|
||||
vpos = Vector(0, -3.58, .22),
|
||||
vang = Angle(0, 90, 0),
|
||||
}
|
||||
},
|
||||
NameChange = "AMAD",
|
||||
TrueNameChange = "Colt Officer's ACP",
|
||||
},
|
||||
|
||||
["ur_1911_slide_compact_custom"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 0, bg = 1},
|
||||
{ind = 1, bg = 5}
|
||||
},
|
||||
AttPosMods = {
|
||||
[4] = {
|
||||
vpos = Vector(0, -3.58, .22),
|
||||
vang = Angle(0, 90, 0),
|
||||
}
|
||||
},
|
||||
NameChange = "AMAD",
|
||||
TrueNameChange = "Colt Officer's ACP",
|
||||
},
|
||||
|
||||
["ur_1911_slide_custom"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 1, bg = 4}
|
||||
},
|
||||
},
|
||||
|
||||
["ur_1911_slide_m45"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 1, bg = 2},
|
||||
{ind = 4, bg = 1},
|
||||
{ind = 5, bg = 1},
|
||||
},
|
||||
--VMSkin = 1,
|
||||
NameChange = "AMASIN",
|
||||
TrueNameChange = "M45",
|
||||
Override_IronSightStruct = {
|
||||
Pos = Vector(-2.3, 10, 1.4),
|
||||
Ang = Angle(0.275, 0.07, 5.5),
|
||||
},
|
||||
},
|
||||
|
||||
["ur_1911_slide_m45_custom"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 1, bg = 3},
|
||||
{ind = 4, bg = 1},
|
||||
{ind = 5, bg = 1},
|
||||
},
|
||||
--VMSkin = 1,
|
||||
NameChange = "AMASIN",
|
||||
TrueNameChange = "M45",
|
||||
Override_IronSightStruct = {
|
||||
Pos = Vector(-2.3, 10, 1.4),
|
||||
Ang = Angle(0.275, 0.07, 5.5),
|
||||
},
|
||||
},
|
||||
|
||||
["ur_1911_mag_ext"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 3, bg = 1}
|
||||
}
|
||||
},
|
||||
|
||||
["ur_1911_grip_snake"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 6, bg = 1}
|
||||
}
|
||||
},
|
||||
["ur_1911_grip_pachmayr"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 6, bg = 2}
|
||||
}
|
||||
},
|
||||
|
||||
["ur_1911_skin_silver"] = {
|
||||
VMSkin = 1
|
||||
},
|
||||
["ur_1911_skin_tan"] = {
|
||||
VMSkin = 2
|
||||
},
|
||||
["ur_1911_skin_custom"] = {
|
||||
VMSkin = 3
|
||||
},
|
||||
|
||||
["ur_1911_cal_9mm"] = {
|
||||
NameChange = "AMAS-9",
|
||||
TrueNameChange = "SR1911",
|
||||
},
|
||||
["ur_1911_cal_10auto"] = {
|
||||
NameChange = "AMAS Elite",
|
||||
TrueNameChange = "Delta Elite",
|
||||
},
|
||||
|
||||
["optic_rail"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 7, bg = 1}
|
||||
}
|
||||
},
|
||||
["tac_rail"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 8, bg = 1}
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Hook_ModifyBodygroups = function(wep, data)
|
||||
-- local vm = data.vm
|
||||
-- if !IsValid(vm) then return end
|
||||
|
||||
-- local att_skin = wep.Attachments[14].Installed
|
||||
-- local att_slide = wep.Attachments[2].Installed
|
||||
|
||||
-- if att_slide == "ur_1911_slide_m45" and att_skin == "ur_1911_skin_custom" then
|
||||
-- vm:SetBodygroup(1, 3)
|
||||
-- end
|
||||
end
|
||||
|
||||
-- SWEP.Hook_NameChange = function(wep,name)
|
||||
-- if GetConVar("arccw_truenames"):GetBool() then
|
||||
-- local atts = wep.Attachments
|
||||
-- local cal = string.Replace(atts[3].Installed or "45acp", "ur_1911_cal_", "")
|
||||
|
||||
-- if cal == "10auto" then return GetConVar("arccw_truenames"):GetBool() and "Delta Elite" or ""
|
||||
-- elseif cal == "9mm" then return GetConVar("arccw_truenames"):GetBool() and "SR1911" or ""
|
||||
-- end
|
||||
|
||||
-- return "M1911"
|
||||
-- else
|
||||
-- return "AMAS"
|
||||
-- end
|
||||
-- end
|
||||
|
||||
-- Animations --
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle",
|
||||
Time = 10 / 30,
|
||||
},
|
||||
["idle_empty"] = {
|
||||
Source = "idle_empty",
|
||||
Time = 10 / 30,
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "fix",
|
||||
Time = 1.6,
|
||||
MinProgress = 1.2,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKOut = 0,
|
||||
ShellEjectAt = false,
|
||||
ProcDraw = true,
|
||||
SoundTable = {
|
||||
{ s = rottle, t = 0 / 60 },
|
||||
{s = path .. "draw.ogg", t = 0.05},
|
||||
{ s = path .. "mech.ogg",t = 28 / 60}, -- Temporary
|
||||
{ s = path .. "slidedrop.ogg",t = 35 / 60},
|
||||
},
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
Time = .75,
|
||||
MinProgress = .4,
|
||||
--ProcDraw = true,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0},
|
||||
{s = path .. "draw.ogg", t = 0.05}, -- Not Temporary
|
||||
{s = rutle, t = 0.1},
|
||||
--{s = common .. "raise.ogg", t = 0.05},
|
||||
},
|
||||
},
|
||||
["draw_empty"] = {
|
||||
Source = "draw_empty",
|
||||
Time = .75,
|
||||
MinProgress = .4,
|
||||
--ProcDraw = true,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0},
|
||||
{s = path .. "draw.ogg", t = 0.05}, -- Not Temporary
|
||||
{s = rutle, t = 0.1},
|
||||
--{s = common .. "raise.ogg", t = 0.05},
|
||||
},
|
||||
},
|
||||
["draw_jam"] = {
|
||||
Source = "draw_jam",
|
||||
Time = .75,
|
||||
MinProgress = .4,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0},
|
||||
{s = path .. "draw.ogg", t = 0.05}, -- Not Temporary
|
||||
{s = rutle, t = 0.1},
|
||||
--{s = common .. "raise.ogg", t = 0.05},
|
||||
},
|
||||
},
|
||||
["holster"] = {
|
||||
Source = "holster",
|
||||
Time = .75,
|
||||
SoundTable = {
|
||||
{s = rutle, t = 0.05},
|
||||
{s = path .. "holster.ogg", t = 0.2}, -- Not Temporary
|
||||
},
|
||||
},
|
||||
["holster_empty"] = {
|
||||
Source = "holster_empty",
|
||||
Time = .75,
|
||||
SoundTable = {
|
||||
{s = rutle, t = 0.05},
|
||||
{s = path .. "holster.ogg", t = 0.2}, -- Not Temporary
|
||||
},
|
||||
},
|
||||
["holster_jam"] = {
|
||||
Source = "holster_jam",
|
||||
Time = 18 / 30,
|
||||
SoundTable = {
|
||||
{s = rutle, t = 0.05},
|
||||
{s = path .. "holster.ogg", t = 0.2}, -- Not Temporary
|
||||
},
|
||||
},
|
||||
|
||||
["fire"] = {
|
||||
Source = "fire",
|
||||
Time = 30 / 30,
|
||||
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",
|
||||
Time = 30 / 30,
|
||||
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 }},
|
||||
},
|
||||
["fire_empty"] = {
|
||||
Source = "fire_empty",
|
||||
Time = 24 / 30,
|
||||
ShellEjectAt = 0,
|
||||
SoundTable = {
|
||||
{ s = path .. "mech_last.ogg", t = 0 },
|
||||
},
|
||||
},
|
||||
["fire_iron_empty"] = {
|
||||
Source = "fire_empty",
|
||||
Time = 24 / 30,
|
||||
ShellEjectAt = 0,
|
||||
SoundTable = {
|
||||
{ s = path .. "mech_last.ogg", t = 0 },
|
||||
},
|
||||
},
|
||||
["fire_jammed"] = {
|
||||
Source = "fire_jam",
|
||||
Time = 30 / 30,
|
||||
MinProgress = 0.5,
|
||||
ShellEjectAt = false,
|
||||
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 }
|
||||
},
|
||||
},
|
||||
|
||||
-- 7-R Reloads --
|
||||
|
||||
["reload_10"] = {
|
||||
Source = "reload_ext",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_PISTOL,
|
||||
MinProgress = 1.3525,
|
||||
Time = 65 / 30,
|
||||
LastClip1OutTime = 0.9,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.2,
|
||||
LHIKEaseIn = 0.2,
|
||||
LHIKEaseOut = 0.2,
|
||||
LHIKOut = 0.62,
|
||||
SoundTable = {
|
||||
{ s = rottle, t = 0 / 60 },
|
||||
{ s = common .. "magpouch_pull_small.ogg", t = 0 / 60 },
|
||||
{ s = common .. "magrelease.ogg", t = 17 / 60 },
|
||||
{ s = path .. "magout.ogg", t = 26 / 60 },
|
||||
{ s = rottle, t = 10 / 60 },
|
||||
{ s = rottle, t = 55 / 60 },
|
||||
{ s = common .. "magpouch_replace_small.ogg", t = 80 / 60 },
|
||||
{ s = path .. "magin.ogg", t = 50 / 60 },
|
||||
},
|
||||
},
|
||||
["reload_empty_10"] = {
|
||||
Source = "reload_empty_ext",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_PISTOL,
|
||||
MinProgress = 1.75,
|
||||
Time = 75 / 30,
|
||||
LastClip1OutTime = 0.76,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.1,
|
||||
LHIKEaseIn = 0.1,
|
||||
LHIKEaseOut = 0.55,
|
||||
LHIKOut = 0.7,
|
||||
SoundTable = {
|
||||
{ s = rottle, t = 0 / 60 },
|
||||
{ s = common .. "magrelease.ogg", t = 7 / 60 },
|
||||
{ s = path .. "magout.ogg", t = 16 / 60 },
|
||||
{ s = rottle, t = 10 / 60 },
|
||||
{ s = common .. "magpouch_pull_small.ogg", t = 29 / 60 },
|
||||
{ s = common .. "pistol_magdrop.ogg", t = 40 / 60 },
|
||||
{ s = rottle, t = 55 / 60 },
|
||||
{ s = path .. "magin.ogg", t = 64 / 60 },
|
||||
{ s = rottle, t = 90 / 60 },
|
||||
{ s = path .. "slidedrop.ogg", t = 94 / 60 },
|
||||
},
|
||||
},
|
||||
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_PISTOL,
|
||||
MinProgress = 1.3525,
|
||||
Time = 65 / 30,
|
||||
LastClip1OutTime = 0.9,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.2,
|
||||
LHIKEaseIn = 0.2,
|
||||
LHIKEaseOut = 0.2,
|
||||
LHIKOut = 0.62,
|
||||
SoundTable = {
|
||||
{ s = rottle, t = 0 / 60 },
|
||||
{ s = common .. "magpouch_pull_small.ogg", t = 5 / 60 },
|
||||
{ s = rottle, t = 10 / 60 },
|
||||
{ s = common .. "magrelease.ogg", t = 17 / 60 },
|
||||
{ s = path .. "magout.ogg", t = 26 / 60 },
|
||||
{ s = path .. "magin.ogg", t = 45 / 60 },
|
||||
{ s = rottle, t = 55 / 60 },
|
||||
{ s = common .. "magpouch_replace_small.ogg", t = 80 / 60 },
|
||||
{ s = path .. "grab.ogg", t = 110 / 60 },
|
||||
},
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload_empty",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_PISTOL,
|
||||
MinProgress = 1.75,
|
||||
Time = 75 / 30,
|
||||
LastClip1OutTime = 0.76,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.1,
|
||||
LHIKEaseIn = 0.1,
|
||||
LHIKEaseOut = 0.55,
|
||||
LHIKOut = 0.7,
|
||||
SoundTable = {
|
||||
{ s = rottle, t = 0 / 60 },
|
||||
{ s = common .. "magrelease.ogg", t = 7 / 60 },
|
||||
{ s = path .. "magout.ogg", t = 16 / 60 },
|
||||
{ s = rottle, t = 10 / 60 },
|
||||
{ s = common .. "magpouch_pull_small.ogg", t = 29 / 60 },
|
||||
{ s = common .. "pistol_magdrop.ogg", t = 40 / 60 },
|
||||
{ s = rottle, t = 55 / 60 },
|
||||
{ s = path .. "magin.ogg", t = 64 / 60 },
|
||||
{ s = rottle, t = 90 / 60 },
|
||||
{ s = path .. "slidedrop.ogg", t = 94 / 60 },
|
||||
{ s = path .. "grab.ogg", t = 125 / 60 },
|
||||
},
|
||||
},
|
||||
|
||||
-- Jam Animations --
|
||||
|
||||
["fix"] = {
|
||||
Source = "fix",
|
||||
--Time = 40 / 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKOut = 0,
|
||||
ShellEjectAt = 30 / 60,
|
||||
SoundTable = {
|
||||
{ s = rottle, t = 0 / 60 },
|
||||
{ s = path .. "mech.ogg",t = 28 / 60}, -- Temporary
|
||||
{ s = path .. "slidedrop.ogg",t = 35 / 60},
|
||||
},
|
||||
},
|
||||
|
||||
["fix_empty"] = {
|
||||
Source = "fix_empty",
|
||||
--Time = 40 / 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKOut = 0,
|
||||
ShellEjectAt = 30 / 60,
|
||||
SoundTable = {
|
||||
{ s = rottle, t = 0 / 60 },
|
||||
{ s = path .. "mech.ogg",t = 28 / 60},
|
||||
},
|
||||
},
|
||||
|
||||
["idle_jammed"] = {
|
||||
Source = "idle_jam",
|
||||
-- time = 35 / 60,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKOut = 0,
|
||||
-- SoundTable = {
|
||||
-- },
|
||||
},
|
||||
|
||||
-- -- Inspecc --
|
||||
|
||||
["enter_inspect"] = {
|
||||
Source = "enter_inspect",
|
||||
time = 35 / 60,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0},
|
||||
{s = common .. "movement-pistol-04.ogg", t = 0},
|
||||
},
|
||||
},
|
||||
["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.05},
|
||||
{s = common .. "movement-pistol-03.ogg", t = 0.1},
|
||||
{s = common .. "movement-pistol-01.ogg", t = 1},
|
||||
{s = rottle, t = 1},
|
||||
},
|
||||
},
|
||||
|
||||
["enter_inspect_empty"] = {
|
||||
Source = "enter_inspect_empty",
|
||||
time = 35 / 60,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.1,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0},
|
||||
{s = common .. "movement-pistol-04.ogg", t = 0},
|
||||
},
|
||||
},
|
||||
["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.05},
|
||||
{s = common .. "movement-pistol-03.ogg", t = 0.1},
|
||||
{s = common .. "movement-pistol-01.ogg", t = 1},
|
||||
{s = rottle, t = 1},
|
||||
},
|
||||
},
|
||||
["enter_inspect_jammed"] = {
|
||||
Source = "enter_inspect_jam",
|
||||
time = 35 / 60,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.1,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0},
|
||||
{s = common .. "movement-pistol-04.ogg", t = 0},
|
||||
},
|
||||
},
|
||||
["idle_inspect_jammed"] = {
|
||||
Source = "idle_inspect_jam",
|
||||
time = 72 / 60,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0,
|
||||
},
|
||||
["exit_inspect_jammed"] = {
|
||||
Source = "exit_inspect_jam",
|
||||
time = 66 / 60,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKEaseOut = 0.3,
|
||||
LHIKOut = 0.84,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0.05},
|
||||
{s = common .. "movement-pistol-03.ogg", t = 0.1},
|
||||
{s = common .. "movement-pistol-01.ogg", t = 1},
|
||||
{s = rottle, t = 1},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
-- ADS animation blending, thanks fesiug --
|
||||
|
||||
SWEP.Hook_Think = ArcCW.UC.ADSReload
|
||||
|
||||
|
||||
-- Attachments --
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic",
|
||||
Slot = {"optic_lp"},
|
||||
DefaultAttName = "Iron Sights",
|
||||
Bone = "vm_pivot",
|
||||
Offset = {
|
||||
vpos = Vector(-0.01, -2.3, 1.6),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
InstalledEles = {"optic_rail"},
|
||||
},
|
||||
{
|
||||
PrintName = "Slide",
|
||||
Slot = {"ur_m1911_slide"},
|
||||
DefaultAttIcon = Material("entities/att/ur_1911/slide_std.png","mips smooth"),
|
||||
DefaultAttName = "5\" Government Slide",
|
||||
},
|
||||
{
|
||||
PrintName = "Caliber",
|
||||
Slot = {"ur_m1911_caliber"},
|
||||
DefaultAttIcon = Material("entities/att/uc_bullets/45acp.png","mips smooth"),
|
||||
DefaultAttName = ".45 ACP",
|
||||
Bone = "vm_pivot",
|
||||
Offset = {
|
||||
vpos = Vector(3.07, -3.8, -27),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
DefaultFlags = {"cal_subsonic"},
|
||||
},
|
||||
{
|
||||
PrintName = "Muzzle",
|
||||
DefaultAttName = "Standard Muzzle",
|
||||
Slot = {"muzzle"},
|
||||
Bone = "vm_barrel",
|
||||
Offset = {
|
||||
vpos = Vector(0.02, -4.4, 0.12),
|
||||
vang = Angle(0, 90, 0),
|
||||
},
|
||||
InstalledEles = {"nofh"},
|
||||
ExcludeFlags = {"barrel_annihilator"},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = {"tac_pistol"},
|
||||
Bone = "vm_pivot",
|
||||
Offset = {
|
||||
vpos = Vector(0, 0, 4),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
InstalledEles = {"tac_rail"},
|
||||
},
|
||||
{
|
||||
PrintName = "Magazine",
|
||||
Slot = {"ur_m1911_mag"},
|
||||
DefaultAttIcon = Material("entities/att/ur_1911/mag7.png","mips smooth"),
|
||||
DefaultAttName = "7-Round Mag",
|
||||
},
|
||||
{
|
||||
PrintName = "Stock",
|
||||
Slot = {"uc_stock", "go_stock_pistol_bt"},
|
||||
VMScale = Vector(1, 1, 1),
|
||||
Bone = "vm_pivot",
|
||||
Offset = {
|
||||
vpos = Vector(0, 3, -3),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Grip",
|
||||
DefaultAttName = "Factory Grip",
|
||||
DefaultAttIcon = Material("entities/att/ur_1911/grip.png","mips smooth"),
|
||||
Slot = "ur_m1911_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 = "vm_pivot",
|
||||
Offset = {
|
||||
vpos = Vector(0.35, -0.5, 3),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
VMScale = Vector(.75,.75,.75),
|
||||
},
|
||||
{
|
||||
PrintName = "Finish",
|
||||
Slot = {"ur_m1911_skin"},
|
||||
DefaultAttName = "Grey",
|
||||
DefaultAttIcon = Material("entities/att/ur_1911/skin.png","mips smooth"),
|
||||
FreeSlot = true,
|
||||
},
|
||||
}
|
||||
1236
gamemodes/darkrp/plugins/arccwbase/entities/weapons/arccw_ur_mp5.lua
Normal file
1236
gamemodes/darkrp/plugins/arccwbase/entities/weapons/arccw_ur_mp5.lua
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,830 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true
|
||||
SWEP.Category = "Willard - Modern Weaponry"
|
||||
SWEP.UC_CategoryPack = "2Urban Renewal"
|
||||
SWEP.AdminOnly = false
|
||||
SWEP.UseHands = true
|
||||
|
||||
-- Muzzle and shell effects --
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_shotgun"
|
||||
SWEP.ShellEffect = "arccw_uc_shelleffect"
|
||||
SWEP.ShellModel = "models/weapons/arccw/uc_shells/12g.mdl"
|
||||
SWEP.ShellPitch = 100
|
||||
SWEP.ShellSounds = ArcCW.ShotgunShellSoundsTable
|
||||
SWEP.ShellScale = 1
|
||||
SWEP.UC_ShellColor = Color(0.7 * 255, 0.2 * 255, 0.2 * 255)
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1
|
||||
SWEP.CaseEffectAttachment = 2
|
||||
SWEP.CamAttachment = 3
|
||||
|
||||
-- Fake name --
|
||||
|
||||
SWEP.PrintName = "Martello 12/70" -- Italian for "hammer"
|
||||
|
||||
-- True name --
|
||||
|
||||
SWEP.TrueName = "SPAS-12"
|
||||
|
||||
-- Trivia --
|
||||
|
||||
SWEP.Trivia_Class = "Shotgun"
|
||||
SWEP.Trivia_Desc = [[Flexible combat shotgun with the ability to toggle between manual and semi-automatic action. This "dual-mode operation" allows the weapon to cycle low pressure, less-lethal rounds that lack the energy to extract themselves.
|
||||
The weapon's attempts to reach the American civilian market may have been slowed by legal challenges, but it remains prominent in popular culture for its intimidating and tactical appearance.
|
||||
|
||||
Highly versatile, but encumbering to carry and difficult to reload. Switch to pump-action mode to tighten spread and conserve ammo.]]
|
||||
SWEP.Trivia_Manufacturer = "Iscapelli Armaments"
|
||||
SWEP.Trivia_Calibre = "12 Gauge"
|
||||
SWEP.Trivia_Mechanism = "Hybrid"
|
||||
SWEP.Trivia_Country = "Italy"
|
||||
SWEP.Trivia_Year = 1979
|
||||
|
||||
-- Weapon slot --
|
||||
|
||||
SWEP.Slot = 3
|
||||
|
||||
-- Weapon's manufacturer real name --
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then
|
||||
SWEP.PrintName = SWEP.TrueName
|
||||
SWEP.Trivia_Manufacturer = "Luigi Franchi SpA"
|
||||
end
|
||||
|
||||
-- Viewmodel / Worldmodel / FOV --
|
||||
|
||||
SWEP.ViewModel = "models/weapons/arccw/c_ur_spas12.mdl"
|
||||
SWEP.WorldModel = "models/weapons/arccw/c_ur_spas12.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_SHOTGUN
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-5.8, 5, -4.5),
|
||||
ang = Angle(-12, 0, 180),
|
||||
bone = "ValveBiped.Bip01_R_Hand",
|
||||
scale = 1
|
||||
}
|
||||
|
||||
-- Damage parameters --
|
||||
|
||||
SWEP.Damage = 10 -- 6 pellets to kill
|
||||
SWEP.DamageMin = 10 -- 10 pellets to kill
|
||||
SWEP.Range = 90
|
||||
SWEP.RangeMin = 6
|
||||
SWEP.Num = 8
|
||||
SWEP.Penetration = 2
|
||||
SWEP.DamageType = DMG_BUCKSHOT
|
||||
SWEP.ShootEntity = nil
|
||||
SWEP.MuzzleVelocity = 365
|
||||
SWEP.PhysBulletMuzzleVelocity = 365
|
||||
|
||||
SWEP.HullSize = 0.25
|
||||
|
||||
SWEP.BodyDamageMults = ArcCW.UC.BodyDamageMults_Shotgun
|
||||
|
||||
-- Mag size --
|
||||
|
||||
SWEP.ChamberSize = 1
|
||||
SWEP.Primary.ClipSize = 8
|
||||
SWEP.ChamberLoadEmpty = 1
|
||||
|
||||
-- Recoil --
|
||||
|
||||
SWEP.Recoil = 2.5
|
||||
SWEP.RecoilSide = 2
|
||||
|
||||
SWEP.RecoilRise = 0.24
|
||||
SWEP.VisualRecoilMult = 1
|
||||
SWEP.MaxRecoilBlowback = 1
|
||||
SWEP.MaxRecoilPunch = 1
|
||||
|
||||
SWEP.Sway = 0.5
|
||||
|
||||
-- Firerate / Firemodes --
|
||||
|
||||
SWEP.Delay = 60 / 120
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 1,
|
||||
PrintName = "fcg.pump",
|
||||
Override_ManualAction = true,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.UC_CanManualAction = true
|
||||
SWEP.ShotgunReload = true
|
||||
SWEP.NoLastCycle = true
|
||||
|
||||
SWEP.ShootVol = 160
|
||||
SWEP.ShootPitch = 100
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.ReloadInSights = true
|
||||
|
||||
-- NPC --
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_shotgun"
|
||||
SWEP.NPCWeight = 210
|
||||
|
||||
-- Accuracy --
|
||||
|
||||
SWEP.AccuracyMOA = 45
|
||||
SWEP.HipDispersion = 325
|
||||
SWEP.MoveDispersion = 400
|
||||
SWEP.JumpDispersion = 1000
|
||||
|
||||
SWEP.Primary.Ammo = "buckshot"
|
||||
|
||||
-- Speed multipliers --
|
||||
|
||||
SWEP.SpeedMult = 0.88
|
||||
SWEP.SightedSpeedMult = 0.5
|
||||
SWEP.SightTime = 0.4
|
||||
SWEP.ShootSpeedMult = 0.75
|
||||
|
||||
-- Length --
|
||||
|
||||
SWEP.BarrelLength = 46
|
||||
SWEP.ExtraSightDist = 2
|
||||
|
||||
-- Ironsights / Customization / Poses --
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-3.765, -4, 1.3),
|
||||
Ang = Angle(.2, 0, 1),
|
||||
Magnification = 1.05,
|
||||
SwitchToSound = "",
|
||||
}
|
||||
|
||||
SWEP.SprintPos = Vector(-0.5, -4, -3)
|
||||
SWEP.SprintAng = Angle(3.5, 7, -20)
|
||||
|
||||
SWEP.HolsterPos = Vector(2.5, -1, -3)
|
||||
SWEP.HolsterAng = Angle(-3.5, 20, -20)
|
||||
|
||||
SWEP.ActivePos = Vector(-0.3, -3, 0.1)
|
||||
SWEP.ActiveAng = Angle(1, 1, -1)
|
||||
|
||||
SWEP.CrouchPos = Vector(-4, -2, 0)
|
||||
SWEP.CrouchAng = Angle(0, 0, -30)
|
||||
|
||||
SWEP.CustomizePos = Vector(0, 0, 0)
|
||||
SWEP.CustomizeAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(3, 0, -4.5)
|
||||
|
||||
-- Firing sounds --
|
||||
|
||||
local path1 = ")weapons/arccw_ud/870/"
|
||||
local path = ")weapons/arccw_ur/spas12/"
|
||||
local common = ")/arccw_uc/common/"
|
||||
SWEP.ShootSoundSilenced = path .. "fire_supp.ogg"
|
||||
--[[SWEP.DistantShootSound = {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"}
|
||||
SWEP.DistantShootSoundSilenced = common .. "sup_tail.ogg"]]
|
||||
SWEP.ShootDrySound = common .. "manual_trigger.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.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",
|
||||
}
|
||||
|
||||
local tail = ")/arccw_uc/common/12ga/"
|
||||
|
||||
SWEP.ShootSoundSilenced = {
|
||||
tail .. "fire-sup-01.ogg",
|
||||
tail .. "fire-sup-02.ogg",
|
||||
tail .. "fire-sup-03.ogg",
|
||||
tail .. "fire-sup-04.ogg",
|
||||
tail .. "fire-sup-05.ogg",
|
||||
tail .. "fire-sup-06.ogg"
|
||||
}
|
||||
SWEP.DistantShootSoundOutdoors = {
|
||||
tail .. "fire-dist-12ga-pasg-ext-01.ogg",
|
||||
tail .. "fire-dist-12ga-pasg-ext-02.ogg",
|
||||
tail .. "fire-dist-12ga-pasg-ext-03.ogg",
|
||||
tail .. "fire-dist-12ga-pasg-ext-04.ogg",
|
||||
tail .. "fire-dist-12ga-pasg-ext-05.ogg",
|
||||
tail .. "fire-dist-12ga-pasg-ext-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 = 1
|
||||
SWEP.Hook_AddShootSound = ArcCW.UC.InnyOuty
|
||||
|
||||
-- Animations --
|
||||
|
||||
SWEP.Hook_Think = ArcCW.UC.ADSReload
|
||||
|
||||
SWEP.Hook_TranslateAnimation = function(wep,anim)
|
||||
if wep:GetCurrentFiremode().Override_ManualAction and anim == "idle_empty" then
|
||||
return "idle_empty_manual"
|
||||
end
|
||||
end
|
||||
SWEP.Hook_SelectFireAnimation = function(wep,data)
|
||||
if wep:GetCurrentFiremode().Override_AmmoPerShot == 2 then
|
||||
return "fire_2bst"
|
||||
elseif wep:GetCurrentFiremode().Override_ManualAction then
|
||||
return "fire_manual"
|
||||
end
|
||||
end
|
||||
SWEP.Hook_SelectReloadAnimation = function(wep,curanim)
|
||||
if wep:GetCurrentFiremode().Override_ManualAction and curanim == "sgreload_start_empty" then
|
||||
return "sgreload_start_empty_manual"
|
||||
end
|
||||
end
|
||||
|
||||
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-shotgun-01.ogg",common .. "movement-shotgun-02.ogg",common .. "movement-shotgun-03.ogg",common .. "movement-shotgun-04.ogg"}
|
||||
local shellin = {path .. "shell-insert-01.ogg", path .. "shell-insert-02.ogg", path .. "shell-insert-03.ogg", path .. "shell-insert-04.ogg", path .. "shell-insert-05.ogg", path .. "shell-insert-06.ogg", path .. "shell-insert-07.ogg", path .. "shell-insert-08.ogg", path .. "shell-insert-09.ogg", path .. "shell-insert-10.ogg", path .. "shell-insert-11.ogg", path .. "shell-insert-12.ogg"}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle",
|
||||
},
|
||||
["idle_empty"] = {
|
||||
Source = "idle_empty_semi",
|
||||
},
|
||||
["idle_empty_manual"] = {
|
||||
Source = "idle_empty",
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
--Time = 20 / 30,
|
||||
SoundTable = ArcCW.UC.DrawSounds,
|
||||
},
|
||||
["draw_empty"] = {
|
||||
Source = "draw", -- draw_empty
|
||||
--Time = 20 / 30,
|
||||
SoundTable = ArcCW.UC.DrawSounds,
|
||||
},
|
||||
["holster"] = {
|
||||
Source = "holster",
|
||||
--Time = 20 / 30,
|
||||
SoundTable = ArcCW.UC.HolsterSounds,
|
||||
},
|
||||
["holster_empty"] = {
|
||||
Source = "holster", -- holster_empty
|
||||
--Time = 20 / 30,
|
||||
SoundTable = ArcCW.UC.HolsterSounds,
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "fire_semi",
|
||||
Time = 23 / 25,--30,
|
||||
ShellEjectAt = 0.01,
|
||||
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_semi",
|
||||
Time = 23 / 25,--30,
|
||||
ShellEjectAt = 0.01,
|
||||
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_2bst"] = {
|
||||
Source = "fire_semi",
|
||||
Time = 35 / 25,--30,
|
||||
ShellEjectAt = 0.01,
|
||||
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 }},
|
||||
MinProgress = 0.4
|
||||
},
|
||||
["fire_manual"] = { -- No bolt cycling
|
||||
Source = "fire_pump",
|
||||
Time = 23 / 25,--30,
|
||||
MinProgress = 0.3,
|
||||
ShellEjectAt = false,
|
||||
SoundTable = {{ s = common .. "manual_trigger.ogg", t = 0}},
|
||||
},
|
||||
["cycle"] = {
|
||||
Source = "cycle",
|
||||
Time = 30 / 30,
|
||||
ShellEjectAt = 0.1,
|
||||
MinProgress = 0.35,
|
||||
SoundTable = {
|
||||
{s = path .. "forearm_back.ogg", t = 0},
|
||||
{s = path1 .. "eject.ogg", t = 0.1},
|
||||
{s = path .. "forearm_forward.ogg", t = 0.2}, -- Not temporary
|
||||
},
|
||||
},
|
||||
["unjam"] = {
|
||||
Source = "cycle",
|
||||
Time = 30 / 30,
|
||||
ShellEjectAt = 0.01,
|
||||
MinProgress = .25,
|
||||
SoundTable = {
|
||||
{s = path .. "forearm_back.ogg", t = 0},
|
||||
{s = path1 .. "eject.ogg", t = 0.1},
|
||||
{s = path .. "forearm_forward.ogg", t = 0.2}, -- Not temporary
|
||||
},
|
||||
},
|
||||
["fire_empty"] = {
|
||||
Source = "fire_empty_semi", -- fire_empty
|
||||
Time = 23 / 25,--30,
|
||||
ShellEjectAt = 0.01,
|
||||
SoundTable = {
|
||||
{s = path1 .. "eject.ogg", t = 0}, -- Not temporary
|
||||
},
|
||||
},
|
||||
["fire_iron_empty"] = {
|
||||
Source = "fire_empty_semi", -- fire_empty
|
||||
Time = 23 / 25,--30,
|
||||
ShellEjectAt = 0.01,
|
||||
SoundTable = {
|
||||
{s = path1 .. "eject.ogg", t = 0}, -- Not temporary
|
||||
},
|
||||
},
|
||||
["sgreload_start"] = {
|
||||
Source = "sgreload_start",
|
||||
Time = 25 / 30,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.2,
|
||||
LHIKEaseIn = 0.2,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{s = path .. "turn.ogg", t = 0}, -- Temporary
|
||||
{s = rottle, t = 0.1},
|
||||
{s = path .. "grab.ogg", t = 0.15},
|
||||
}
|
||||
},
|
||||
["sgreload_start_fold"] = {
|
||||
Source = "sgreload_start_fold",
|
||||
Time = 25 / 30,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.2,
|
||||
LHIKEaseIn = 0.2,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{s = path .. "turn.ogg", t = 0}, -- Temporary
|
||||
{s = rottle, t = 0.1},
|
||||
{s = path .. "grab.ogg", t = 0.15},
|
||||
}
|
||||
},
|
||||
["sgreload_start_empty"] = {
|
||||
Source = "sgreload_start_empty_semi",
|
||||
Time = 80 / 30,
|
||||
-- MinProgress = 1,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0,
|
||||
TPAnimStartTime = 0.5,
|
||||
ShellEjectAt = false,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0},
|
||||
{s = path .. "breechload.ogg", t = .4},
|
||||
{s = path .. "breechclose.ogg", t = 1}, -- Temporary
|
||||
{s = path .. "turn.ogg", t = 1.4}, -- Temporary
|
||||
{s = rottle, t = 1.5},
|
||||
{s = path .. "grab.ogg", t = 1.9},
|
||||
},
|
||||
ForceEmpty = true,
|
||||
},
|
||||
["sgreload_start_empty_fold"] = {
|
||||
Source = "sgreload_start_empty_semi_fold",
|
||||
Time = 80 / 30,
|
||||
-- MinProgress = 1,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0,
|
||||
TPAnimStartTime = 0.5,
|
||||
ShellEjectAt = false,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0},
|
||||
{s = path .. "breechload.ogg", t = .4},
|
||||
{s = path .. "breechclose.ogg", t = 1}, -- Temporary
|
||||
{s = path .. "turn.ogg", t = 1.4}, -- Temporary
|
||||
{s = rottle, t = 1.5},
|
||||
{s = path .. "grab.ogg", t = 1.9},
|
||||
},
|
||||
ForceEmpty = true,
|
||||
},
|
||||
["sgreload_start_empty_manual"] = {
|
||||
Source = "sgreload_start_empty",
|
||||
Time = 85 / 30,
|
||||
MinProgress = 1,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0,
|
||||
TPAnimStartTime = 0.5,
|
||||
ShellEjectAt = .1,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
SoundTable = {
|
||||
{s = path .. "forearm_back.ogg", t = 0},
|
||||
{s = path1 .. "eject.ogg", t = 0.1},
|
||||
{s = rottle, t = .2},
|
||||
{s = path .. "breechload.ogg", t = .7},
|
||||
{s = path .. "forearm_forward.ogg", t = 1.6},
|
||||
{s = path .. "turn.ogg", t = 1.4}, -- Temporary
|
||||
{s = rottle, t = 1.5},
|
||||
{s = path .. "grab.ogg", t = 2.0},
|
||||
},
|
||||
ForceEmpty = true,
|
||||
},
|
||||
["sgreload_start_empty_manual_fold"] = {
|
||||
Source = "sgreload_start_empty_fold",
|
||||
Time = 85 / 30,
|
||||
MinProgress = 1,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0,
|
||||
TPAnimStartTime = 0.5,
|
||||
ShellEjectAt = .1,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
SoundTable = {
|
||||
{s = path .. "forearm_back.ogg", t = 0},
|
||||
{s = path1 .. "eject.ogg", t = 0.1},
|
||||
{s = rottle, t = .2},
|
||||
{s = path .. "breechload.ogg", t = .7},
|
||||
{s = path .. "forearm_forward.ogg", t = 1.6},
|
||||
{s = path .. "turn.ogg", t = 1.4}, -- Temporary
|
||||
{s = rottle, t = 1.5},
|
||||
{s = path .. "grab.ogg", t = 2.0},
|
||||
},
|
||||
ForceEmpty = true,
|
||||
},
|
||||
["sgreload_insert"] = {
|
||||
Source = "sgreload_insert",
|
||||
Time = 18 / 30,
|
||||
MinProgress = 0.24,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
TPAnimStartTime = 0.3,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{s = shellin, t = 0},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.05},
|
||||
},
|
||||
},
|
||||
["sgreload_insert_fold"] = {
|
||||
Source = "sgreload_insert_fold",
|
||||
Time = 18 / 30,
|
||||
MinProgress = 0.24,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
TPAnimStartTime = 0.3,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0,
|
||||
SoundTable = {
|
||||
{s = shellin, t = 0},
|
||||
{s = {common .. "cloth_2.ogg", common .. "cloth_3.ogg", common .. "cloth_4.ogg", common .. "cloth_6.ogg", common .. "rattle.ogg"}, t = 0.05},
|
||||
},
|
||||
},
|
||||
["sgreload_finish"] = {
|
||||
Source = "sgreload_finish",
|
||||
Time = 45 / 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKEaseOut = 0.3,
|
||||
LHIKOut = 0.6,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
TPAnimStartTime = 0.8,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0.2},
|
||||
{s = path .. "return.ogg", t = 0.475}, -- Temporary
|
||||
{s = common .. "shoulder.ogg", t = 0.55},
|
||||
},
|
||||
},
|
||||
["sgreload_finish_fold"] = {
|
||||
Source = "sgreload_finish_fold",
|
||||
Time = 45 / 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKEaseOut = 0.3,
|
||||
LHIKOut = 0.6,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
TPAnimStartTime = 0.8,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0.2},
|
||||
{s = path .. "return.ogg", t = 0.475}, -- Temporary
|
||||
{s = common .. "shoulder.ogg", t = 0.55},
|
||||
},
|
||||
},
|
||||
|
||||
["enter_inspect"] = {
|
||||
Source = "inspect_enter",
|
||||
-- time = 35 / 60,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 2.5,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0},
|
||||
{s = common .. "movement-shotgun-01.ogg", t = 0.1},
|
||||
},
|
||||
},
|
||||
["idle_inspect"] = {
|
||||
Source = "inspect_loop",
|
||||
-- time = 72 / 60,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 999, -- maybe im dumb
|
||||
},
|
||||
["exit_inspect"] = {
|
||||
Source = "inspect_exit",
|
||||
-- time = 66 / 60,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 999, -- maybe im dumb
|
||||
SoundTable = {
|
||||
{s = common .. "movement-shotgun-02.ogg", t = 0.3},
|
||||
{s = rottle, t = 0.25},
|
||||
{s = rottle, t = 1.2},
|
||||
{s = common .. "movement-shotgun-04.ogg", t = 1.3},
|
||||
},
|
||||
},
|
||||
["enter_inspect_empty"] = { -- Animations needed!
|
||||
Source = "inspect_enter",
|
||||
-- time = 35 / 60,
|
||||
LHIK = false,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 2.5,
|
||||
SoundTable = {
|
||||
{s = rottle, t = 0},
|
||||
{s = common .. "movement-shotgun-01.ogg", t = 0.1},
|
||||
},
|
||||
},
|
||||
["idle_inspect_empty"] = {
|
||||
Source = "inspect_loop",
|
||||
-- time = 72 / 60,
|
||||
LHIK = false,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 999, -- maybe im dumb
|
||||
},
|
||||
["exit_inspect_empty"] = {
|
||||
Source = "inspect_exit",
|
||||
-- time = 66 / 60,
|
||||
LHIK = false,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 999, -- maybe im dumb
|
||||
SoundTable = {
|
||||
{s = common .. "movement-shotgun-02.ogg", t = 0.3},
|
||||
{s = rottle, t = 0.25},
|
||||
{s = rottle, t = 1.2},
|
||||
{s = common .. "movement-shotgun-04.ogg", t = 1.3},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.BulletBones = {
|
||||
--[1] = "1014_shell1",
|
||||
}
|
||||
|
||||
-- Bodygroups --
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["uc_manualonly"] = {
|
||||
Override_Firemodes = {
|
||||
{
|
||||
Mode = 1,
|
||||
PrintName = "fcg.pump",
|
||||
Override_ManualAction = true,
|
||||
Mult_AccuracyMOA = 0.8,
|
||||
Mult_HipDispersion = 0.8,
|
||||
},
|
||||
{
|
||||
Mode = 0,
|
||||
},
|
||||
},
|
||||
Override_Firemodes_Priority = 10,
|
||||
},
|
||||
["uc_spas_slam"] = {
|
||||
RequireFlags = {"freeman", "needsmanual"},
|
||||
Override_Firemodes = {
|
||||
{
|
||||
Mode = 2,
|
||||
PrintName = "fcg.slam",
|
||||
Override_ManualAction = true,
|
||||
Mult_AccuracyMOA = 0.8,
|
||||
Mult_HipDispersion = 0.8,
|
||||
},
|
||||
{
|
||||
Mode = 0,
|
||||
},
|
||||
},
|
||||
Override_Firemodes_Priority = 15,
|
||||
},
|
||||
["ur_spas12_barrel_short"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 1}},
|
||||
AttPosMods = {[3] = {
|
||||
vpos = Vector(-0.02, 22.25, -0.7),
|
||||
}}
|
||||
},
|
||||
|
||||
["ur_spas12_stock_full"] = {
|
||||
VMBodygroups = {
|
||||
{ind = 3, bg = 1},
|
||||
}
|
||||
},
|
||||
["ur_spas12_stock_in"] = {
|
||||
VMBodygroups = {{ind = 3, bg = 2}}
|
||||
},
|
||||
["ur_spas12_stock_none"] = {
|
||||
VMBodygroups = {{ind = 3, bg = 3}}
|
||||
},
|
||||
|
||||
["ur_spas12_tube_reduced"] = {
|
||||
VMBodygroups = {{ind = 2, bg = 1}}
|
||||
},
|
||||
|
||||
["rail_classic"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 2}}
|
||||
},
|
||||
["rail_modern"] = {
|
||||
VMBodygroups = {{ind = 4, bg = 1}},
|
||||
AttPosMods = {[1] = {
|
||||
SlideAmount = {
|
||||
vmin = Vector(0, 0.5, 0.65),
|
||||
vmax = Vector(0, 2.5, 0.65)
|
||||
},
|
||||
}}
|
||||
},
|
||||
["rail_none_fix"] = {
|
||||
VMBodygroups = {{ind = 8, bg = 0}}
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.DefaultBodygroups = "00000000"
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic",
|
||||
DefaultAttName = "Iron Sights",
|
||||
Slot = {"optic_lp", "optic"},
|
||||
Bone = "spas_parent",
|
||||
Offset = {
|
||||
vpos = Vector(0, -1, 0.4),
|
||||
vang = Angle(90, -90, -90),
|
||||
},
|
||||
CorrectiveAng = Angle(180,0,0),
|
||||
SlideAmount = {
|
||||
vmin = Vector(0, -2, 0.4),
|
||||
vmax = Vector(0, 1, 0.4)
|
||||
},
|
||||
InstalledEles = {"rail_classic"},
|
||||
DefaultEles = {"rail_none_fix"},
|
||||
ExcludeFlags = {"spas12_foldstock"}
|
||||
},
|
||||
{
|
||||
PrintName = "Barrel",
|
||||
DefaultAttName = "21.5\" Special Purpose Barrel", --16\" M4 Super 90 SBS Barrel
|
||||
DefaultAttIcon = Material("entities/att/ur_spas/barrel_std.png", "smooth mips"),
|
||||
Slot = "ur_spas12_barrel",
|
||||
},
|
||||
{
|
||||
PrintName = "Muzzle",
|
||||
DefaultAttName = "Standard Muzzle",
|
||||
Slot = {"choke", "muzzle_shotgun"},
|
||||
Bone = "spas_parent",
|
||||
Offset = {
|
||||
vpos = Vector(-0.02, 26.9, -0.6),
|
||||
vang = Angle(90, -90, -90),
|
||||
},
|
||||
ExcludeFlags = {"nomuzzle"}
|
||||
},
|
||||
-- {
|
||||
-- PrintName = "Underbarrel",
|
||||
-- Slot = {"foregrip"},
|
||||
-- Bone = "pump",
|
||||
-- MergeSlots = {13},
|
||||
-- Offset = {
|
||||
-- vpos = Vector(0, -5, .1),
|
||||
-- vang = Angle(90, -90, -90),
|
||||
-- },
|
||||
-- },
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = {"tac_pistol"},
|
||||
Bone = "spas_parent",
|
||||
Offset = {
|
||||
vpos = Vector(0, 20, -2.3),
|
||||
vang = Angle(90, -90, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Stock",
|
||||
Slot = {"ur_spas12_stock"},
|
||||
DefaultAttName = "Extended Stock",
|
||||
DefaultAttIcon = Material("entities/att/ur_spas/stock_std.png", "smooth mips"),
|
||||
},
|
||||
{
|
||||
PrintName = "Tube Type",
|
||||
Slot = {"ur_spas12_tube"},
|
||||
DefaultAttName = "8 Shell Tube",
|
||||
DefaultAttIcon = Material("entities/att/ur_spas/magbig.png", "smooth mips"),
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
DefaultAttName = "\"BUCK\" #00 Buckshot",
|
||||
DefaultAttIcon = Material("entities/att/arccw_uc_ammo_shotgun_generic.png", "mips smooth"),
|
||||
Slot = {"ud_ammo_shotgun"},
|
||||
},
|
||||
{
|
||||
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", "ur_spas12_charm"},
|
||||
FreeSlot = true,
|
||||
Bone = "spas_parent",
|
||||
Offset = {
|
||||
vpos = Vector(0.6, .5, -1.5),
|
||||
vang = Angle(90, -90, -90),
|
||||
},
|
||||
},
|
||||
-- {
|
||||
-- PrintName = "M203 slot",
|
||||
-- Slot = "uc_ubgl",
|
||||
-- Bone = "pump",
|
||||
-- Offset = {
|
||||
-- vpos = Vector(0, -5, 1.25),
|
||||
-- vang = Angle(90, -90, -90),
|
||||
-- },
|
||||
-- Hidden = true,
|
||||
-- },
|
||||
}
|
||||
|
||||
local lookup_barrel = {
|
||||
default = 1,
|
||||
ur_spas12_comp = 1,
|
||||
ur_spas12_barrel_short = 0,
|
||||
}
|
||||
|
||||
local lookup_tube = {
|
||||
default = 1,
|
||||
ur_spas12_tube_reduced = 0,
|
||||
}
|
||||
|
||||
SWEP.Hook_ExtraFlags = function(wep, data)
|
||||
|
||||
local barrel = wep.Attachments[2].Installed and lookup_barrel[wep.Attachments[2].Installed] or lookup_barrel["default"]
|
||||
local tube = wep.Attachments[7].Installed and lookup_tube[wep.Attachments[7].Installed] or lookup_tube["default"]
|
||||
|
||||
if barrel < tube then
|
||||
table.insert(data, "nomuzzleblocking")
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,292 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Overwatch Weapons" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "AR2"
|
||||
SWEP.TrueName = "OSIPR"
|
||||
SWEP.Trivia_Class = "Assault Rifle"
|
||||
SWEP.Trivia_Desc = "Dark Energy powered assault rifle manufactured by the Combine. The OSIPR is essentially a Combine variant of current assault rifles, commonly issued to Overwatch Soldiers and Overwatch Elites."
|
||||
SWEP.Trivia_Manufacturer = "The Combine"
|
||||
SWEP.Trivia_Calibre = "Dark Energy"
|
||||
SWEP.Trivia_Mechanism = "Thumper and Capsules"
|
||||
SWEP.Trivia_Country = "Bulgaria"
|
||||
SWEP.Trivia_Year = 2020
|
||||
|
||||
SWEP.Slot = 2
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then
|
||||
SWEP.PrintName = SWEP.TrueName
|
||||
SWEP.Trivia_Manufacturer = "Overwatch"
|
||||
end
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/ArcCW/c_irifle.mdl"
|
||||
SWEP.WorldModel = "models/weapons/ArcCW/w_irifle.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
|
||||
SWEP.Damage = 21
|
||||
SWEP.DamageMin = 21 -- damage done at maximum range
|
||||
SWEP.Range = 250 -- in METRES
|
||||
SWEP.Penetration = 13
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 1100 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
|
||||
SWEP.Tracer = AR2Tracer -- override tracer effect
|
||||
SWEP.TracerNum = 1 -- tracer every X
|
||||
SWEP.TracerCol = Color(255, 25, 25)
|
||||
SWEP.TracerWidth = 3
|
||||
|
||||
SWEP.ChamberSize = 1 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 30 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 45
|
||||
SWEP.ReducedClipSize = 15
|
||||
|
||||
SWEP.Recoil = 0.45
|
||||
SWEP.RecoilSide = 0.55
|
||||
SWEP.RecoilRise = 1
|
||||
SWEP.RecoilPunch = 2.5
|
||||
|
||||
SWEP.Delay = 60 / 600 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 2,
|
||||
},
|
||||
{
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_ar2"
|
||||
SWEP.NPCWeight = 200
|
||||
|
||||
SWEP.AccuracyMOA = 5 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 95 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 225
|
||||
|
||||
SWEP.Primary.Ammo = "ar2" -- what ammo type the gun uses
|
||||
SWEP.MagID = "type2" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 115 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 100 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "weapons/ArcCW/fire1.wav"
|
||||
SWEP.ShootSoundSilenced = "weapons/arccw/m4a1/m4a1_silencer_01.wav"
|
||||
SWEP.DistantShootSound = "weapons/arccw/ak47/ak47-1-distant.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_1"
|
||||
SWEP.ShellModel = "models/weapons/arccw/irifleshell.mdl"
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.SpeedMult = 0.94
|
||||
SWEP.SightedSpeedMult = 0.5
|
||||
SWEP.SightTime = 0.33
|
||||
SWEP.VisualRecoilMult = 1
|
||||
SWEP.RecoilRise = 1
|
||||
|
||||
SWEP.BulletBones = { -- the bone that represents bullets in gun/mag
|
||||
-- [0] = "bulletchamber",
|
||||
-- [1] = "bullet1"
|
||||
}
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.CaseBones = {}
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-5.131, -9.03, 2.267),
|
||||
Ang = Angle(-0.066, 0, 0),
|
||||
Magnification = 1.1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
SWEP.ActivePos = Vector(0, 3, 0)
|
||||
SWEP.ActiveAng = Angle(2, 0, 0)
|
||||
|
||||
SWEP.HolsterPos = Vector(0.532, -6, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.BarrelLength = 27
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["extendedmag"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 1}},
|
||||
WMBodygroups = {{ind = 1, bg = 1}},
|
||||
},
|
||||
["reducedmag"] = {
|
||||
VMBodygroups = {{ind = 1, bg = 2}},
|
||||
WMBodygroups = {{ind = 1, bg = 2}},
|
||||
},
|
||||
["mount"] = {
|
||||
VMElements = {
|
||||
{
|
||||
Model = "models/weapons/arccw/atts/mount_ak.mdl",
|
||||
Bone = "ar2_weapon",
|
||||
Scale = Vector(-1, -1, 1),
|
||||
Offset = {
|
||||
pos = Vector(4, 3.75, 0),
|
||||
ang = Angle(180, 180, -90)
|
||||
}
|
||||
}
|
||||
},
|
||||
WMElements = {
|
||||
{
|
||||
Model = "models/weapons/arccw/atts/mount_ak.mdl",
|
||||
Scale = Vector(-1, -1, 1),
|
||||
Offset = {
|
||||
pos = Vector(5.714, 0.73, -6),
|
||||
ang = Angle(171, 0, -1)
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
["fcg_semi"] = {
|
||||
TrueNameChange = "Vepr-KM",
|
||||
NameChange = "Wasp-2",
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.ExtraSightDist = 5
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic", -- print name
|
||||
DefaultAttName = "Iron Sights",
|
||||
Slot = {"optic", "optic_lp"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "ar2_weapon", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(0, 3.75, 1), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(180, 180, -90),
|
||||
wpos = Vector(7, 0, -7), -- offset that the attachment will be relative to the bone
|
||||
wang = Angle(170, 180, 0),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Grip",
|
||||
Slot = "grip",
|
||||
DefaultAttName = "Standard Grip"
|
||||
},
|
||||
{
|
||||
PrintName = "Stock",
|
||||
Slot = "stock",
|
||||
DefaultAttName = "Standard Stock"
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = "tac",
|
||||
Bone = "ar2_weapon",
|
||||
Offset = {
|
||||
vpos = Vector(15, 0, 0.5), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, 0, 0),
|
||||
wpos = Vector(15.625, -0.1, -6.298),
|
||||
wang = Angle(-8.829, -0.556, 90)
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = {"ubgl", "foregrip"},
|
||||
Bone = "ar2_weapon",
|
||||
Offset = {
|
||||
vpos = Vector(-5, 1, 1),
|
||||
vang = Angle(180, 180, -40),
|
||||
wpos = Vector(5, 1.1, -6.298),
|
||||
wang = Angle(-8.829, -0.556, -90)
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Fire Group",
|
||||
Slot = "fcg",
|
||||
DefaultAttName = "Standard FCG"
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
Slot = "ammo_bullet"
|
||||
},
|
||||
{
|
||||
PrintName = "Perk",
|
||||
Slot = "perk"
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle",
|
||||
Time = 1
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
Time = 0.4,
|
||||
SoundTable = {{s = "weapons/arccw/ak47/ak47_draw.wav", t = 0}},
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "draw",
|
||||
Time = 1,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
["fire"] = {
|
||||
Source = {"fire1", "fire2", "fire3", "fire4"},
|
||||
Time = 0.5,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = {"fire1", "fire2", "fire3", "fire4"},
|
||||
Time = 0.5,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
SoundTable = {{s = "weapons/ArcCW/npc_ar2_reload.wav", t = 0}},
|
||||
Time = 2,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Framerate = 37,
|
||||
Checkpoints = {28, 38, 69},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reloadempty",
|
||||
SoundTable = {{s = "weapons/ArcCW/npc_ar2_reload.wav", t = 0}},
|
||||
Time = 2,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Framerate = 37,
|
||||
Checkpoints = {28, 38, 69},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,254 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Overwatch Weapons" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "Pulse SMG"
|
||||
SWEP.TrueName = "Pulse SMG"
|
||||
SWEP.Trivia_Class = "Submachine Gun"
|
||||
SWEP.Trivia_Desc = "A predecessor to the Pulse Rifle, commonly used by Combine Grunts."
|
||||
SWEP.Trivia_Manufacturer = "The Combine"
|
||||
SWEP.Trivia_Calibre = "Dark Energy"
|
||||
SWEP.Trivia_Mechanism = "Thumper and Capsules"
|
||||
SWEP.Trivia_Country = "Bulgaria"
|
||||
SWEP.Trivia_Year = 2015
|
||||
|
||||
SWEP.Slot = 2
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then
|
||||
SWEP.PrintName = SWEP.TrueName
|
||||
SWEP.Trivia_Manufacturer = "Overwatch"
|
||||
end
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/c_ipistol.mdl"
|
||||
SWEP.WorldModel = "models/weapons/w_ipistol.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
|
||||
SWEP.MirrorVMWM = nil -- Copy the viewmodel, along with all its attachments, to the worldmodel. Super convenient!
|
||||
SWEP.MirrorWorldModel = nil -- Use this to set the mirrored viewmodel to a different model, without any floating speedloaders or cartridges you may have. Needs MirrorVMWM
|
||||
SWEP.HideViewmodel = nil
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(3, 0, 0),
|
||||
ang = Angle(0, 0, 180),
|
||||
bone = "ValveBiped.Bip01_R_Hand",
|
||||
scale = 1
|
||||
}
|
||||
|
||||
SWEP.Damage = 15
|
||||
SWEP.DamageMin = 15 -- damage done at maximum range
|
||||
SWEP.Range = 160 -- in METRES
|
||||
SWEP.Penetration = 10
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 1100 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
|
||||
SWEP.Tracer = AR2Tracer -- override tracer effect
|
||||
SWEP.TracerNum = 1 -- tracer every X
|
||||
SWEP.TracerCol = Color(255, 25, 25)
|
||||
SWEP.TracerWidth = 3
|
||||
|
||||
SWEP.ChamberSize = 1 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 20 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 45
|
||||
SWEP.ReducedClipSize = 15
|
||||
|
||||
SWEP.Recoil = 0.1
|
||||
SWEP.RecoilSide = 0.45
|
||||
SWEP.RecoilRise = 1
|
||||
|
||||
SWEP.Delay = 60 / 750
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 2,
|
||||
},
|
||||
{
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_ar2"
|
||||
SWEP.NPCWeight = 200
|
||||
|
||||
SWEP.AccuracyMOA = 10 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 300 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 350
|
||||
|
||||
SWEP.Primary.Ammo = "ar2" -- what ammo type the gun uses
|
||||
SWEP.MagID = "type2" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 103 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 100 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "psmg_fire.wav"
|
||||
SWEP.ShootSoundSilenced = "weapons/arccw/m4a1/m4a1_silencer_01.wav"
|
||||
SWEP.DistantShootSound = "weapons/arccw/ak47/ak47-1-distant.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_1"
|
||||
SWEP.ShellModel = "models/weapons/arccw/irifleshell.mdl"
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.SpeedMult = 0.94
|
||||
SWEP.SightedSpeedMult = 0.5
|
||||
SWEP.SightTime = 0.25
|
||||
SWEP.VisualRecoilMult = 1
|
||||
SWEP.RecoilRise = 1
|
||||
|
||||
SWEP.BulletBones = { -- the bone that represents bullets in gun/mag
|
||||
-- [0] = "bulletchamber",
|
||||
-- [1] = "bullet1"
|
||||
}
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.CaseBones = {}
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-4.651, -5.829, -0.551),
|
||||
Ang = Angle(-0.066, 0, 0),
|
||||
Magnification = 1.1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
SWEP.ActivePos = Vector(0, 0, 0)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.HolsterPos = Vector(3.216, 0.402, -3.82)
|
||||
SWEP.HolsterAng = Vector(-9.146, 20.402, -26.734)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.BarrelLength = 27
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
}
|
||||
|
||||
SWEP.ExtraSightDist = 5
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Grip",
|
||||
Slot = "grip",
|
||||
DefaultAttName = "Standard Grip"
|
||||
},
|
||||
{
|
||||
PrintName = "Stock",
|
||||
Slot = "stock",
|
||||
DefaultAttName = "Standard Stock"
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = "tac",
|
||||
Bone = "ipistol",
|
||||
Offset = {
|
||||
vpos = Vector(0.5, 3, -6), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(-90, 0, 0),
|
||||
wpos = Vector(21, 1.1, -2),
|
||||
wang = Angle(-8.829, -0.556, 90)
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = {"ubgl", "foregrip"},
|
||||
Bone = "ipistol",
|
||||
Offset = {
|
||||
vpos = Vector(-0, 2, -6),
|
||||
vang = Angle(270, 0, -90),
|
||||
wpos = Vector(17, 1.1, -3),
|
||||
wang = Angle(90, 90, -90)
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Fire Group",
|
||||
Slot = "fcg",
|
||||
DefaultAttName = "Standard FCG"
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
Slot = "ammo_bullet"
|
||||
},
|
||||
{
|
||||
PrintName = "Perk",
|
||||
Slot = "perk"
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle",
|
||||
Time = 1
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
Time = 1.3,
|
||||
SoundTable = {{s = "weapons/arccw/ak47/ak47_draw.wav", t = 0}},
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "draw",
|
||||
Time = 1,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
["fire"] = {
|
||||
Source = {"attack1"},
|
||||
Time = 0.5,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = {"fire1", "fire2", "fire3", "fire4"},
|
||||
Time = 0.5,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
SoundTable = {{s = "psmg_reload.wav", t = 0}},
|
||||
Time = 1.5,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Framerate = 37,
|
||||
Checkpoints = {28, 38, 69},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload",
|
||||
SoundTable = {{s = "psmg_reload.wav", t = 0}},
|
||||
Time = 1.5,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Framerate = 37,
|
||||
Checkpoints = {28, 38, 69},
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,383 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Junk Weapons" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "Bastard Gun"
|
||||
SWEP.Trivia_Class = "Submachine Gun"
|
||||
SWEP.Trivia_Desc = "Submachinegun, 5.45 caliber. It's got poor accuracy and overheats like hell. That's why they call it a Bastard gun, hahah."
|
||||
SWEP.Trivia_Manufacturer = "Unknown"
|
||||
SWEP.Trivia_Calibre = "5.45x39mm"
|
||||
SWEP.Trivia_Mechanism = "Russian Magic"
|
||||
SWEP.Trivia_Country = "Russia"
|
||||
|
||||
SWEP.Slot = 2
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/c_BastardGun.mdl"
|
||||
SWEP.WorldModel = "models/weapons/c_BastardGun.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
|
||||
SWEP.DefaultBodygroups = "000000000000"
|
||||
|
||||
SWEP.Damage = 12
|
||||
SWEP.DamageMin = 10 -- damage done at maximum range
|
||||
SWEP.Range = 75 -- in METRES
|
||||
SWEP.Penetration = 6
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 250 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
SWEP.ChamberSize = 1 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 30 -- DefaultClip is automatically set.
|
||||
|
||||
SWEP.PhysBulletMuzzleVelocity = 300
|
||||
|
||||
SWEP.Recoil = 0.200
|
||||
SWEP.RecoilSide = 0.100
|
||||
SWEP.RecoilRise = 0.1
|
||||
SWEP.RecoilPunch = 2.5
|
||||
|
||||
SWEP.Delay = 60 / 650 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 2,
|
||||
},
|
||||
{
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_smg1"
|
||||
SWEP.NPCWeight = 100
|
||||
|
||||
SWEP.AccuracyMOA = 14 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 325 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 200
|
||||
|
||||
SWEP.Primary.Ammo = "smg1" -- what ammo type the gun uses
|
||||
SWEP.MagID = "ump" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 110 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 100 -- pitch of shoot sound
|
||||
|
||||
SWEP.FirstShootSound = "BastardGun/Shoot.wav"
|
||||
SWEP.ShootSound = "BastardGun/Shoot.wav"
|
||||
SWEP.ShootSoundSilenced = "BastardGun/Shoots.wav"
|
||||
SWEP.DistantShootSound = "BastardGun/Shoot.wav"
|
||||
|
||||
SWEP.MeleeSwingSound = "arccw_go/m249/m249_draw.wav"
|
||||
SWEP.MeleeMissSound = "weapons/iceaxe/iceaxe_swing1.wav"
|
||||
SWEP.MeleeHitSound = "arccw_go/knife/knife_hitwall1.wav"
|
||||
SWEP.MeleeHitNPCSound = "physics/body/body_medium_break2.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_smg"
|
||||
SWEP.ShellModel = "models/shells/shell_556.mdl"
|
||||
SWEP.ShellPitch = 100
|
||||
SWEP.ShellScale = 1.25
|
||||
SWEP.ShellRotateAngle = Angle(0, 180, 0)
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.SpeedMult = 0.95
|
||||
SWEP.SightedSpeedMult = 0.75
|
||||
SWEP.SightTime = 0.300
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-7.7, -9.849, 1.6),
|
||||
Ang = Angle(-0.201, -0.851, -1.4),
|
||||
Magnification = 1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
CrosshairInSights = false
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
SWEP.ActivePos = Vector(-1, 2, -1)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.CrouchPos = Vector(-4, 0, -1)
|
||||
SWEP.CrouchAng = Angle(0, 0, -10)
|
||||
|
||||
SWEP.HolsterPos = Vector(3, 3, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.CustomizePos = Vector(8, 0, 1)
|
||||
SWEP.CustomizeAng = Angle(5, 30, 30)
|
||||
|
||||
SWEP.BarrelLength = 18
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["lastlightpete"] = {
|
||||
VMSkin = 1,
|
||||
WMSkin = 1,
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.ExtraSightDist = 10
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-15, 8, -4),
|
||||
ang = Angle(-10, 0, 180)
|
||||
}
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic",
|
||||
Slot = {"optic_lp", "optic"},
|
||||
Bone = "BastardGun",
|
||||
DefaultAttName = "Iron Sights",
|
||||
Offset = {
|
||||
vpos = Vector(0, -3.4, 14),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
InstalledEles = {"rail"},
|
||||
VMScale = Vector(1.25, 1.25, 1.25),
|
||||
CorrectiveAng = Angle(-0.5, 0, 0),
|
||||
CorrectivePos = Vector(0, 0, 0)
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = "foregrip",
|
||||
Bone = "BastardGun",
|
||||
DefaultAttName = "Standard Foregrip",
|
||||
Offset = {
|
||||
vpos = Vector(0, 0, 14),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
InstalledEles = {"ubrms"},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = "tac",
|
||||
Bone = "BastardGun",
|
||||
Offset = {
|
||||
vpos = Vector(-1.201, -2.3, 18),
|
||||
vang = Angle(90.5, 0, 0),
|
||||
},
|
||||
InstalledEles = {"tacms"},
|
||||
},
|
||||
{
|
||||
PrintName = "Muzzle",
|
||||
DefaultAttName = "Standard Muzzle",
|
||||
Slot = "muzzle",
|
||||
Bone = "BastardGun",
|
||||
Offset = {
|
||||
vpos = Vector(0, -2.25, 24),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
Slot = "go_ammo",
|
||||
DefaultAttName = "Standard Ammo"
|
||||
},
|
||||
{
|
||||
PrintName = "Perk",
|
||||
Slot = "go_perk"
|
||||
},
|
||||
{
|
||||
PrintName = "Skin",
|
||||
Slot = {"metro_skinpete"},
|
||||
DefaultAttName = "Metro 2033",
|
||||
FreeSlot = true
|
||||
},
|
||||
{
|
||||
PrintName = "Charm",
|
||||
Slot = "charm",
|
||||
FreeSlot = true,
|
||||
Bone = "BastardGun", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(0.8, -1.3, 0), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Jamming = true
|
||||
SWEP.HeatCapacity = 65
|
||||
SWEP.HeatDissipation = 12
|
||||
SWEP.HeatLockout = true
|
||||
SWEP.HeatDelayTime = 3.5
|
||||
SWEP.HeatFix = true
|
||||
|
||||
SWEP.BulletBones = {
|
||||
[1] = "Bullet1",
|
||||
[2] = "Bullet2",
|
||||
[3] = "Bullet3",
|
||||
[4] = "Bullet4",
|
||||
[5] = "Bullet5",
|
||||
[6] = "Bullet6",
|
||||
[7] = "Bullet7",
|
||||
[8] = "Bullet8",
|
||||
[9] = "Bullet9",
|
||||
[10] = "Bullet10",
|
||||
[11] = "Bullet11",
|
||||
[12] = "Bullet12",
|
||||
[13] = "Bullet13",
|
||||
[14] = "Bullet14",
|
||||
[15] = "Bullet15",
|
||||
[16] = "Bullet16",
|
||||
[17] = "Bullet17",
|
||||
[18] = "Bullet18",
|
||||
[19] = "Bullet19",
|
||||
[20] = "Bullet20",
|
||||
[21] = "Bullet21",
|
||||
[22] = "Bullet22",
|
||||
[23] = "Bullet23",
|
||||
[24] = "Bullet24",
|
||||
[25] = "Bullet25",
|
||||
[26] = "Bullet26",
|
||||
[27] = "Bullet27",
|
||||
[28] = "Bullet28",
|
||||
[29] = "Bullet29",
|
||||
[30] = "Bullet30",
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle"
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "ready",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
["fix"] = {
|
||||
Source = "fix",
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "shoot",
|
||||
Time = 0.25,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "shoot",
|
||||
Time = 0.5,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reloadpartial",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Checkpoints = {16, 30},
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKOut = 2.1,
|
||||
LHIKEaseOut = 0.3,
|
||||
LastClip1OutTime = 1,
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Checkpoints = {16, 30, 55},
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.4,
|
||||
LHIKOut = 2.5,
|
||||
LHIKEaseOut = 0.3,
|
||||
LastClip1OutTime = 1,
|
||||
},
|
||||
}
|
||||
|
||||
sound.Add({
|
||||
name = "BG.BoltPull",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "BastardGun/BoltPull.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "BG.Clip",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "BastardGun/Clip.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "BG.Hit",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "BastardGun/Hit.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "BG.ClipIn",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "BastardGun/ClipIn.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "BG.ClipIn2",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "BastardGun/ClipIn2.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "BG.ClipOut",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "BastardGun/ClipOut.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "BG.ClipOut1",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "BastardGun/ClipOut1.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "BG.ClipOut2",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "BastardGun/ClipOut2.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "BG.Fix",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "BastardGun/Fix.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "BG.Fix1",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "BastardGun/Fix1.wav"
|
||||
})
|
||||
@@ -0,0 +1,318 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Junk Weapons" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "Duplet"
|
||||
SWEP.Trivia_Class = "Shotgun"
|
||||
SWEP.Trivia_Desc = "The 12-gauge shotgun is one of the best close combat weapons ever. A blast from both of its barrels can kill almost any mutant on the spot."
|
||||
SWEP.Trivia_Manufacturer = "Unknown"
|
||||
SWEP.Trivia_Calibre = "12 Gauge"
|
||||
SWEP.Trivia_Mechanism = "Break-Action"
|
||||
|
||||
SWEP.Slot = 3
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/c_duplet.mdl"
|
||||
SWEP.WorldModel = "models/weapons/c_duplet.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
|
||||
SWEP.Damage = 7
|
||||
SWEP.DamageMin = 7 -- damage done at maximum range
|
||||
SWEP.Range = 50 -- in METRES
|
||||
SWEP.Penetration = 6
|
||||
SWEP.DamageType = DMG_BUCKSHOT
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 1100 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
SWEP.ChamberSize = 0 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 2 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 2
|
||||
SWEP.ReducedClipSize = 1
|
||||
|
||||
SWEP.Recoil = 2.5
|
||||
SWEP.RecoilSide = 1
|
||||
SWEP.MaxRecoilBlowback = 2
|
||||
|
||||
SWEP.AccuracyMOA = 45 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 600 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 150
|
||||
|
||||
SWEP.Delay = 60 / 600 -- 60 / RPM.
|
||||
SWEP.Num = 8 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
PrintName = "SNGL",
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
PrintName = "BOTH",
|
||||
Mode = -2,
|
||||
RunawayBurst = true,
|
||||
Override_ShotRecoilTable = {
|
||||
[1] = 0.25
|
||||
}
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = {"weapon_annabelle", "weapon_shotgun"}
|
||||
SWEP.NPCWeight = 100
|
||||
|
||||
SWEP.Primary.Ammo = "buckshot" -- what ammo type the gun uses
|
||||
|
||||
SWEP.ShootVol = 120 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 100 -- pitch of shoot sound
|
||||
|
||||
SWEP.FirstShootSound = "Duplet/Shoot.wav"
|
||||
SWEP.ShootSound = "Duplet/Shoot1.wav"
|
||||
SWEP.DistantShootSound = "Duplet/Shoot.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_shotgun"
|
||||
SWEP.ShellModel = "models/shells/shell_12gauge.mdl"
|
||||
SWEP.ShellPitch = 100
|
||||
SWEP.ShellSounds = ArcCW.ShotgunShellSoundsTable
|
||||
SWEP.ShellScale = 1.5
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.SpeedMult = 0.94
|
||||
SWEP.SightedSpeedMult = 0.5
|
||||
SWEP.SightTime = 0.30
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.CaseBones = {}
|
||||
|
||||
SWEP.RevolverReload = true
|
||||
|
||||
SWEP.BulletBones = {
|
||||
[1] = "Buckshot1",
|
||||
[2] = "Buckshot2"
|
||||
}
|
||||
|
||||
SWEP.CaseBones = {
|
||||
[1] = "Buckshot1",
|
||||
[2] = "Buckshot2"
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "shotgun"
|
||||
SWEP.HoldtypeSights = "ar2"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_SHOTGUN
|
||||
|
||||
SWEP.ActivePos = Vector(1, 12, -2)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.CrouchPos = Vector(-3, 3, 0)
|
||||
SWEP.CrouchAng = Angle(0, 0, -10)
|
||||
|
||||
SWEP.HolsterPos = Vector(3.5, 2, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-5, 7.5, -4),
|
||||
ang = Angle(-15, 0, -180)
|
||||
}
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["lastlightd"] = {
|
||||
VMSkin = 1,
|
||||
WMSkin = 1,
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.ShootVol = 130 -- volume of shoot sound
|
||||
|
||||
SWEP.SpeedMult = 0.97
|
||||
SWEP.SightedSpeedMult = 0.80
|
||||
SWEP.SightTime = 0.225
|
||||
|
||||
SWEP.BarrelLength = 24
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-7.591, -4.824, 2),
|
||||
Ang = Angle(-0.704, -3, 0),
|
||||
Magnification = 1.1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "shotgun"
|
||||
SWEP.HoldtypeSights = "ar2"
|
||||
|
||||
SWEP.ExtraSightDist = 5
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic", -- print name
|
||||
DefaultAttName = "Iron Sights",
|
||||
Slot = {"optic_lp", "optic"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "Optic", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(0, 0.2, 2), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(90, 0, -90),
|
||||
wpos = Vector(13.762, 0.5, -6.102),
|
||||
wang = Angle(-15, 0, 180)
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Choke",
|
||||
DefaultAttName = "Standard Choke",
|
||||
Slot = "choke",
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = {"foregrip", "style_pistol"},
|
||||
Bone = "Optic",
|
||||
Offset = {
|
||||
vpos = Vector(0, 3.635, 3.635),
|
||||
vang = Angle(90, 0, -90),
|
||||
wpos = Vector(14.329, 0.8, -4.453),
|
||||
wang = Angle(-15, 0, 180)
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = "tac",
|
||||
Bone = "Optic",
|
||||
Offset = {
|
||||
vpos = Vector(-1.5, 0.8, 3.6), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(92, 0, 180),
|
||||
wpos = Vector(20, -0.6, -7.5),
|
||||
wang = Angle(-15, -3, 90)
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Grip",
|
||||
Slot = "grip",
|
||||
DefaultAttName = "Standard Grip"
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
Slot = "ammo_shotgun"
|
||||
},
|
||||
{
|
||||
PrintName = "Perk",
|
||||
Slot = "perk",
|
||||
DefaultAttName = "None"
|
||||
},
|
||||
{
|
||||
PrintName = "Skin",
|
||||
Slot = {"metro_skind"},
|
||||
DefaultAttName = "Metro 2033",
|
||||
FreeSlot = true
|
||||
},
|
||||
{
|
||||
PrintName = "Charm",
|
||||
Slot = "charm",
|
||||
FreeSlot = true,
|
||||
Bone = "Optic", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(0.42, 2.3, 7.8), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(90, 0, -90),
|
||||
wpos = Vector(18, 1.3, -5.7),
|
||||
wang = Angle(-15, 0, 180)
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle",
|
||||
Time = 1
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
Time = 0.5,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
SoundTable = {{s = "weapons/arccw/nova/nova_draw.wav", t = 0}},
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "ready",
|
||||
Time = 3,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
SoundTable = {{s = "weapons/arccw/nova/nova_draw.wav", t = 0}},
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "shoot",
|
||||
Time = 0.4,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "shoot_iron",
|
||||
Time = 0.4,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload_part",
|
||||
Time = 2.15,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
Checkpoints = {28, 64, 102},
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKOut = 0.3,
|
||||
LastClip1OutTime = 0.4,
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload",
|
||||
Time = 2.6,
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SHOTGUN,
|
||||
Checkpoints = {28, 64, 102},
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKOut = 0.3,
|
||||
LastClip1OutTime = 0.4,
|
||||
},
|
||||
}
|
||||
|
||||
sound.Add({
|
||||
name = "Weapon_Duplet.Lever",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "Duplet/Lever.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "Weapon_Duplet.Load",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "Duplet/Load.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "Weapon_Duplet.In",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "Duplet/In.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "Weapon_Duplet.Out",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "Duplet/Out.wav"
|
||||
})
|
||||
@@ -0,0 +1,275 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Junk Weapons" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "Helsing"
|
||||
SWEP.Trivia_Class = "Helsing"
|
||||
SWEP.Trivia_Desc = "A silent, revolving air gun that shoots metal bolts. Overpressurizing its tank increases power, but the extra pressure vents before long."
|
||||
SWEP.Trivia_Manufacturer = "Unknown"
|
||||
SWEP.Trivia_Calibre = "Helsing Bolt"
|
||||
SWEP.Trivia_Mechanism = "Pneumatic"
|
||||
SWEP.Trivia_Country = "Russia"
|
||||
|
||||
SWEP.Slot = 3
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/c_Helsing.mdl"
|
||||
SWEP.WorldModel = "models/weapons/c_Helsing.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
|
||||
SWEP.DefaultSkin = 0
|
||||
|
||||
SWEP.Damage = 29
|
||||
SWEP.DamageMin = 29
|
||||
SWEP.Range = 40 -- in METRES
|
||||
SWEP.Penetration = 13
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 200 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
|
||||
SWEP.AlwaysPhysBullet = true
|
||||
SWEP.PhysTracerProfile = 0
|
||||
SWEP.TracerNum = 1
|
||||
SWEP.Tracer = "arccw_tracer"
|
||||
SWEP.TracerCol = Color(38, 38, 38)
|
||||
|
||||
SWEP.CanFireUnderwater = true
|
||||
SWEP.ChamberSize = 0 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 8 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 8
|
||||
SWEP.ReducedClipSize = 6
|
||||
|
||||
SWEP.Recoil = 1
|
||||
SWEP.RecoilSide = 1
|
||||
SWEP.RecoilRise = 1
|
||||
SWEP.VisualRecoilMult = 0.5
|
||||
|
||||
SWEP.Delay = 60 / 180 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0,
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = {"weapon_ar2"}
|
||||
SWEP.NPCWeight = 75
|
||||
|
||||
SWEP.AccuracyMOA = 3 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 150 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 250
|
||||
|
||||
SWEP.Primary.Ammo = "357" -- what ammo type the gun uses
|
||||
|
||||
SWEP.ShootVol = 100 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 95 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "Helsing/Shoot.mp3"
|
||||
SWEP.ShootSoundSilenced = "Helsing/Shoot.mp3"
|
||||
SWEP.DistantShootSound = "Helsing/Shoot.mp3"
|
||||
|
||||
SWEP.MuzzleEffect = nil
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 0 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.RevolverReload = true
|
||||
|
||||
SWEP.SightTime = 0.28
|
||||
|
||||
SWEP.SpeedMult = 0.975
|
||||
SWEP.SightedSpeedMult = 0.75
|
||||
|
||||
SWEP.BarrelLength = 18
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.CaseBones = {
|
||||
[1] = "Bullet1",
|
||||
[2] = "Bullet2",
|
||||
[3] = "Bullet3",
|
||||
[4] = "Bullet4",
|
||||
[5] = "Bullet5",
|
||||
[6] = "Bullet6",
|
||||
}
|
||||
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-5.881, 0, 2.184),
|
||||
Ang = Angle(0, 0, 0),
|
||||
Magnification = 1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "normal"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
SWEP.ActivePos = Vector(0, 0, 1)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.CustomizePos = Vector(8, 0, 1)
|
||||
SWEP.CustomizeAng = Angle(5, 30, 30)
|
||||
|
||||
SWEP.HolsterPos = Vector(5, 0, 0)
|
||||
SWEP.HolsterAng = Angle(-4, 30.016, 0)
|
||||
|
||||
SWEP.CrouchPos = Vector(-3, 0, 0)
|
||||
SWEP.CrouchAng = Angle(0, 0, -10)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.ExtraSightDist = 10
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-16.105, 7, -5.715),
|
||||
ang = Angle(-10.52, 0, 180)
|
||||
}
|
||||
|
||||
SWEP.GuaranteeLaser = false
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
|
||||
SWEP.BulletBones = {
|
||||
[1] = "Arrow1",
|
||||
[2] = "Arrow2",
|
||||
[3] = "Arrow3",
|
||||
[4] = "Arrow4",
|
||||
[5] = "Arrow5",
|
||||
[6] = "Arrow6",
|
||||
[7] = "Arrow7",
|
||||
[8] = "Arrow8",
|
||||
}
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic",
|
||||
DefaultAttName = "Iron Sights",
|
||||
Slot = {"optic_lp", "optic"},
|
||||
Bone = "Helsing",
|
||||
Offset = {
|
||||
vpos = Vector(0, -3.8, 3.5),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = "tac",
|
||||
Bone = "Helsing",
|
||||
Offset = {
|
||||
vpos = Vector(-0.5, -0.601, 17.7),
|
||||
vang = Angle(89.7, 0.4, 180),
|
||||
},
|
||||
VMScale = Vector(0.7, 0.7, 0.7),
|
||||
WMScale = Vector(0.7, 0.7, 0.7),
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = {"foregrip"},
|
||||
Bone = "Helsing",
|
||||
Offset = {
|
||||
vpos = Vector(0, 2.599, 19),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Grip",
|
||||
Slot = "grip",
|
||||
DefaultAttName = "Standard Grip"
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
Slot = "ammo_bullet",
|
||||
},
|
||||
{
|
||||
PrintName = "Perk",
|
||||
Slot = {"perk"}
|
||||
},
|
||||
{
|
||||
PrintName = "Charm",
|
||||
Slot = "charm",
|
||||
FreeSlot = true,
|
||||
Bone = "Helsing",
|
||||
Offset = {
|
||||
vpos = Vector(0.37, -0.7, 2.7), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(90, 0, -90),
|
||||
wpos = Vector(10, 1.25, -4),
|
||||
wang = Angle(0, -4.211, 180)
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle"
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw"
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "ready",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "shoot",
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "shoot",
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
Time = 2.4,
|
||||
LastClip1OutTime = 1.3,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
LastClip1OutTime = 1.3,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
}
|
||||
|
||||
sound.Add({
|
||||
name = "HS.Reload",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "Helsing/helsingrl1.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "HS.Reload2",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "Helsing/helsingrl2.wav"
|
||||
})
|
||||
|
||||
@@ -0,0 +1,330 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Junk Weapons" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "Kalash"
|
||||
SWEP.TrueName = "AK-74M"
|
||||
SWEP.Trivia_Class = "Assault Rifle"
|
||||
SWEP.Trivia_Desc = "The classic pre-war assault rifle. Despite being very common, it is held in very high regard in the Metro due to its reliability and performance."
|
||||
SWEP.Trivia_Manufacturer = "Izhmash"
|
||||
SWEP.Trivia_Calibre = "5.45x39mm"
|
||||
SWEP.Trivia_Mechanism = "Gas-Operated"
|
||||
SWEP.Trivia_Country = "Russia"
|
||||
SWEP.Trivia_Year = 1991
|
||||
|
||||
SWEP.Slot = 2
|
||||
SWEP.UseHands = true
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then SWEP.PrintName = SWEP.TrueName end
|
||||
|
||||
SWEP.ViewModel = "models/weapons/c_kalash.mdl"
|
||||
SWEP.WorldModel = "models/weapons/c_kalash.mdl"
|
||||
SWEP.ViewModelFOV = 90
|
||||
|
||||
SWEP.DefaultBodygroups = "000000000000"
|
||||
|
||||
SWEP.Damage = 13
|
||||
SWEP.DamageMin = 13 -- damage done at maximum range
|
||||
SWEP.Range = 500 -- in METRES
|
||||
SWEP.Penetration = 14
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 880 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
SWEP.ChamberSize = 1 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 30 -- DefaultClip is automatically set.
|
||||
|
||||
SWEP.PhysBulletMuzzleVelocity = 880
|
||||
|
||||
SWEP.Recoil = 0.93
|
||||
SWEP.RecoilSide = 0.65
|
||||
SWEP.RecoilRise = 0.3
|
||||
SWEP.RecoilPunch = 2
|
||||
|
||||
SWEP.Delay = 60 / 550 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 2,
|
||||
},
|
||||
{
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_ar2"
|
||||
SWEP.NPCWeight = 200
|
||||
|
||||
SWEP.AccuracyMOA = 10 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 750 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 200
|
||||
|
||||
SWEP.Primary.Ammo = "smg1" -- what ammo type the gun uses
|
||||
SWEP.MagID = "ak47" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 100 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 100 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "Kalash/Shoot.wav"
|
||||
SWEP.ShootSoundSilenced = "2012/shoots.wav"
|
||||
SWEP.DistantShootSound = "Kalash/Shoot.wav"
|
||||
|
||||
SWEP.MeleeSwingSound = "arccw_go/m249/m249_draw.wav"
|
||||
SWEP.MeleeMissSound = "weapons/iceaxe/iceaxe_swing1.wav"
|
||||
SWEP.MeleeHitSound = "arccw_go/knife/knife_hitwall1.wav"
|
||||
SWEP.MeleeHitNPCSound = "physics/body/body_medium_break2.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_ak47"
|
||||
SWEP.ShellModel = "models/shells/shell_556.mdl"
|
||||
SWEP.ShellPitch = 90
|
||||
SWEP.ShellScale = 1.5
|
||||
SWEP.ShellRotateAngle = Angle(0, 180, 0)
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.SpeedMult = 0.91
|
||||
SWEP.SightedSpeedMult = 0.75
|
||||
SWEP.SightTime = 0.30
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-7.9, -7.437, 1.759),
|
||||
Ang = Angle(0, 0, 0),
|
||||
Magnification = 1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
CrosshairInSights = false
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
SWEP.ActivePos = Vector(-1, 0, 0)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.CrouchPos = Vector(-4, 0, -1)
|
||||
SWEP.CrouchAng = Angle(0, 0, -10)
|
||||
|
||||
SWEP.HolsterPos = Vector(3, 3, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.CustomizePos = Vector(8, 0, 1)
|
||||
SWEP.CustomizeAng = Angle(5, 30, 30)
|
||||
|
||||
SWEP.BarrelLength = 24
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["lastlightk"] = {
|
||||
VMSkin = 1,
|
||||
WMSkin = 1,
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.ExtraSightDist = 10
|
||||
SWEP.GuaranteeLaser = true
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-10, 8.6, -5),
|
||||
ang = Angle(-190, 180, 0)
|
||||
}
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic",
|
||||
Slot = {"optic_lp", "optic"},
|
||||
Bone = "AK",
|
||||
DefaultAttName = "Iron Sights",
|
||||
Offset = {
|
||||
vpos = Vector(0, -5.2, 11),
|
||||
vang = Angle(-90, -180, 90),
|
||||
},
|
||||
InstalledEles = {"sidemount"},
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = {"foregrip", "ubgl"},
|
||||
Bone = "AK",
|
||||
Offset = {
|
||||
vpos = Vector(-0, -1.601, 17),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
InstalledEles = {"ubrms"},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = "tac",
|
||||
Bone = "AK",
|
||||
Offset = {
|
||||
vpos = Vector(-0.601, -2.701, 12),
|
||||
vang = Angle(-90, 180, 0),
|
||||
},
|
||||
InstalledEles = {"sidemount"},
|
||||
},
|
||||
{
|
||||
PrintName = "Muzzle",
|
||||
DefaultAttName = "Standard Muzzle",
|
||||
Slot = "muzzle",
|
||||
Bone = "AK",
|
||||
Offset = {
|
||||
vpos = Vector(0.1, -2.651, 28.6),
|
||||
vang = Angle(-90, 180, 0),
|
||||
},
|
||||
InstalledEles = {"no_fh"}
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
Slot = "go_ammo",
|
||||
DefaultAttName = "Standard Ammo"
|
||||
},
|
||||
{
|
||||
PrintName = "Perk",
|
||||
Slot = "go_perk"
|
||||
},
|
||||
{
|
||||
PrintName = "Skin",
|
||||
Slot = {"metro_skink"},
|
||||
DefaultAttName = "Metro 2033",
|
||||
FreeSlot = true
|
||||
},
|
||||
{
|
||||
PrintName = "Charm",
|
||||
Slot = "charm",
|
||||
FreeSlot = true,
|
||||
Bone = "AK", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(0.759, -2.401, 9), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.BulletBones = {
|
||||
[1] = "Bullet30",
|
||||
[2] = "Bullet29",
|
||||
[3] = "Bullet28",
|
||||
[4] = "Bullet27",
|
||||
[5] = "Bullet26",
|
||||
[6] = "Bullet25",
|
||||
[7] = "Bullet24",
|
||||
[8] = "Bullet23",
|
||||
[9] = "Bullet22",
|
||||
[10] = "Bullet21",
|
||||
[11] = "Bullet20",
|
||||
[12] = "Bullet19",
|
||||
[13] = "Bullet18",
|
||||
[14] = "Bullet17",
|
||||
[15] = "Bullet16",
|
||||
[16] = "Bullet15",
|
||||
[17] = "Bullet14",
|
||||
[18] = "Bullet13",
|
||||
[19] = "Bullet12",
|
||||
[20] = "Bullet11",
|
||||
[21] = "Bullet10",
|
||||
[22] = "Bullet9",
|
||||
[23] = "Bullet8",
|
||||
[24] = "Bullet7",
|
||||
[25] = "Bullet6",
|
||||
[26] = "Bullet5",
|
||||
[27] = "Bullet4",
|
||||
[28] = "Bullet3",
|
||||
[29] = "Bullet2",
|
||||
[30] = "Bullet1",
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "ak47_idle"
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "drawfirst",
|
||||
Time = 1.5,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
["fire"] = {
|
||||
Source = {"shoot"},
|
||||
Time = 0.3,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "shootis",
|
||||
Time = 0.1,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
|
||||
Checkpoints = {16, 30},
|
||||
Time = 2,
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKOut = 0.3,
|
||||
LHIKEaseOut = 0.25,
|
||||
LastClip1OutTime = 1,
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload_empty",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
|
||||
Checkpoints = {16, 30, 55},
|
||||
Time = 3,
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKOut = 0.3,
|
||||
LHIKEaseOut = 0.25,
|
||||
LastClip1OutTime = 1,
|
||||
},
|
||||
["enter_inspect"] = false,
|
||||
["idle_inspect"] = false,
|
||||
["exit_inspect"] = false,
|
||||
}
|
||||
|
||||
sound.Add({
|
||||
name = "Kalash.Bolt",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "Kalash/Bolt.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "Kalash.Clipout",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "Kalash/Clipout.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "Kalash.Clipin",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "Kalash/Clipin.wav"
|
||||
})
|
||||
@@ -0,0 +1,328 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Junk Weapons" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "Kalash2012"
|
||||
SWEP.Trivia_Class = "Assault Rifle"
|
||||
SWEP.Trivia_Desc = "At the start of World War 3, this was the best assault rifle used by the army. It is extremely sought after in the Metro due to its great performance."
|
||||
SWEP.Trivia_Manufacturer = "Unknown"
|
||||
SWEP.Trivia_Calibre = "5.45x39mm"
|
||||
SWEP.Trivia_Mechanism = "Gas-Operated"
|
||||
SWEP.Trivia_Country = "Russia"
|
||||
|
||||
SWEP.Slot = 2
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/c_kalash2012.mdl"
|
||||
SWEP.WorldModel = "models/weapons/c_kalash2012.mdl"
|
||||
SWEP.ViewModelFOV = 80
|
||||
|
||||
SWEP.DefaultBodygroups = "000000000000"
|
||||
|
||||
SWEP.Damage = 10
|
||||
SWEP.DamageMin = 10 -- damage done at maximum range
|
||||
SWEP.Range = 500 -- in METRES
|
||||
SWEP.Penetration = 14
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 1050 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
SWEP.ChamberSize = 1 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 50 -- DefaultClip is automatically set.
|
||||
|
||||
SWEP.PhysBulletMuzzleVelocity = 1050
|
||||
|
||||
SWEP.Recoil = 0.42
|
||||
SWEP.RecoilSide = 0.65
|
||||
SWEP.RecoilRise = 0.1
|
||||
SWEP.RecoilPunch = 2.5
|
||||
|
||||
SWEP.Delay = 60 / 700 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 2,
|
||||
},
|
||||
{
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_ar2"
|
||||
SWEP.NPCWeight = 200
|
||||
|
||||
SWEP.AccuracyMOA = 9 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 500 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 200
|
||||
|
||||
SWEP.Primary.Ammo = "smg1" -- what ammo type the gun uses
|
||||
SWEP.MagID = "ak47" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 120 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 100 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "2012/shoot.wav"
|
||||
SWEP.ShootSoundSilenced = "2012/shoots.wav"
|
||||
SWEP.DistantShootSound = "2012/shoot3.wav"
|
||||
SWEP.DistantShootSoundSilenced = "2012/shoots.wav"
|
||||
|
||||
SWEP.MeleeSwingSound = "arccw_go/m249/m249_draw.wav"
|
||||
SWEP.MeleeMissSound = "weapons/iceaxe/iceaxe_swing1.wav"
|
||||
SWEP.MeleeHitSound = "arccw_go/knife/knife_hitwall1.wav"
|
||||
SWEP.MeleeHitNPCSound = "physics/body/body_medium_break2.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_ak47"
|
||||
SWEP.ShellModel = "models/shells/shell_556.mdl"
|
||||
SWEP.ShellPitch = 90
|
||||
SWEP.ShellScale = 1.5
|
||||
SWEP.ShellRotateAngle = Angle(0, 180, 0)
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.SpeedMult = 0.91
|
||||
SWEP.SightedSpeedMult = 0.75
|
||||
SWEP.SightTime = 0.30
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-7.191, -7.5, 1.1),
|
||||
Ang = Angle(0, 0, 0),
|
||||
Magnification = 1.1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
CrosshairInSights = false
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
SWEP.ActivePos = Vector(-1, 0, 0)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.CrouchPos = Vector(-4, 0, -1)
|
||||
SWEP.CrouchAng = Angle(0, 0, -10)
|
||||
|
||||
SWEP.HolsterPos = Vector(3, 3, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.CustomizePos = Vector(8, 0, 1)
|
||||
SWEP.CustomizeAng = Angle(5, 30, 30)
|
||||
|
||||
SWEP.BarrelLength = 18
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["lastlight2012"] = {
|
||||
VMSkin = 1,
|
||||
WMSkin = 1,
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.ExtraSightDist = 10
|
||||
SWEP.GuaranteeLaser = true
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-18, 8.2, -1),
|
||||
ang = Angle(-200, 180, 0)
|
||||
}
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic",
|
||||
Slot = {"optic_lp", "optic"},
|
||||
Bone = "2012",
|
||||
DefaultAttName = "Iron Sights",
|
||||
Offset = {
|
||||
vpos = Vector(0.1, -5.4, 9),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
InstalledEles = {"sidemount"},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = "tac",
|
||||
Bone = "2012",
|
||||
Offset = {
|
||||
vpos = Vector(1.3, -1.201, 11),
|
||||
vang = Angle(90, 0, 0),
|
||||
},
|
||||
InstalledEles = {"sidemount"},
|
||||
},
|
||||
{
|
||||
PrintName = "Muzzle",
|
||||
DefaultAttName = "Standard Muzzle",
|
||||
Slot = "muzzle",
|
||||
Bone = "2012",
|
||||
Offset = {
|
||||
vpos = Vector(0.05, -0.9, 26.9),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
InstalledEles = {"no_fh"}
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
Slot = "go_ammo",
|
||||
DefaultAttName = "Standard Ammo"
|
||||
},
|
||||
{
|
||||
PrintName = "Perk",
|
||||
Slot = "go_perk"
|
||||
},
|
||||
{
|
||||
PrintName = "Skin",
|
||||
Slot = {"metro_skin2012"},
|
||||
DefaultAttName = "Metro 2033",
|
||||
FreeSlot = true
|
||||
},
|
||||
{
|
||||
PrintName = "Charm",
|
||||
Slot = "charm",
|
||||
FreeSlot = true,
|
||||
Bone = "2012", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(1.399, -1.3, 3.65), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.BulletBones = {
|
||||
[5] = "Bullet1",
|
||||
[6] = "Bullet2",
|
||||
[7] = "Bullet3",
|
||||
[8] = "Bullet4",
|
||||
[9] = "Bullet5",
|
||||
[10] = "Bullet6",
|
||||
[11] = "Bullet7",
|
||||
[12] = "Bullet8",
|
||||
[13] = "Bullet9",
|
||||
[14] = "Bullet10",
|
||||
[15] = "Bullet11",
|
||||
[16] = "Bullet12",
|
||||
[17] = "Bullet13",
|
||||
[18] = "Bullet14",
|
||||
[19] = "Bullet15",
|
||||
[20] = "Bullet16",
|
||||
[21] = "Bullet17",
|
||||
[22] = "Bullet18",
|
||||
[23] = "Bullet19",
|
||||
[24] = "Bullet20",
|
||||
[25] = "Bullet21",
|
||||
[26] = "Bullet22",
|
||||
[27] = "Bullet23",
|
||||
[28] = "Bullet24",
|
||||
[29] = "Bullet25",
|
||||
[30] = "Bullet26",
|
||||
[31] = "Bullet27",
|
||||
[32] = "Bullet28",
|
||||
[33] = "Bullet29",
|
||||
[34] = "Bullet30",
|
||||
[35] = "Bullet31",
|
||||
[36] = "Bullet32",
|
||||
[37] = "Bullet33",
|
||||
[38] = "Bullet34",
|
||||
[39] = "Bullet35",
|
||||
[40] = "Bullet36",
|
||||
[41] = "Bullet37",
|
||||
[42] = "Bullet38",
|
||||
[43] = "Bullet39",
|
||||
[44] = "Bullet40",
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle"
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
LHIK = true,
|
||||
Time = 0.5,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "ready",
|
||||
Time = 1.5,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
["fire"] = {
|
||||
Source = {"shoot", "shoot1"},
|
||||
Time = 0.3,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "shoot_iron",
|
||||
Time = 0.1,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
|
||||
Checkpoints = {16, 30},
|
||||
Time = 2.4,
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKOut = 0.3,
|
||||
LHIKEaseOut = 0.25,
|
||||
LastClip1OutTime = 1,
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_SMG1,
|
||||
Checkpoints = {16, 30, 55},
|
||||
Time = 2.6,
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.3,
|
||||
LHIKOut = 0.3,
|
||||
LHIKEaseOut = 0.25,
|
||||
LastClip1OutTime = 1,
|
||||
},
|
||||
["enter_inspect"] = false,
|
||||
["idle_inspect"] = false,
|
||||
["exit_inspect"] = false,
|
||||
}
|
||||
|
||||
sound.Add({
|
||||
name = "2012.Cliphit",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "2012/cliphit.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "2012.Clipout",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "2012/clipout.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "2012.Clipin",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "2012/clipin.wav"
|
||||
})
|
||||
@@ -0,0 +1,291 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Junk Weapons" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "Revolver"
|
||||
SWEP.Trivia_Class = "Revolver"
|
||||
SWEP.Trivia_Desc = "A simple and reliable weapon produced in the Metro. Has great stopping power but kicks like a mule."
|
||||
SWEP.Trivia_Manufacturer = "Unknown"
|
||||
SWEP.Trivia_Calibre = ".44 Magnum"
|
||||
SWEP.Trivia_Mechanism = "Double Action"
|
||||
SWEP.Trivia_Country = "Russia"
|
||||
|
||||
SWEP.Slot = 1
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/c_MetroRevolver.mdl"
|
||||
SWEP.WorldModel = "models/weapons/c_MetroRevolver.mdl"
|
||||
SWEP.ViewModelFOV = 60
|
||||
|
||||
SWEP.DefaultSkin = 0
|
||||
|
||||
SWEP.Damage = 32
|
||||
SWEP.DamageMin = 32
|
||||
SWEP.Range = 40 -- in METRES
|
||||
SWEP.Penetration = 10
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 1230 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
|
||||
SWEP.CanFireUnderwater = false
|
||||
SWEP.ChamberSize = 0 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 6 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 6
|
||||
SWEP.ReducedClipSize = 4
|
||||
|
||||
SWEP.Recoil = 2.5
|
||||
SWEP.RecoilSide = 1
|
||||
SWEP.RecoilRise = 1.8
|
||||
SWEP.VisualRecoilMult = 0.5
|
||||
|
||||
SWEP.Delay = 60 / 180 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
PrintName = "DACT",
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0,
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = {"weapon_pistol", "weapon_357"}
|
||||
SWEP.NPCWeight = 75
|
||||
|
||||
SWEP.AccuracyMOA = 8 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 350 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 250
|
||||
|
||||
SWEP.Primary.Ammo = "357" -- what ammo type the gun uses
|
||||
SWEP.MagID = "ragingbull" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 100 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 95 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "Revolver/Shot.wav"
|
||||
SWEP.ShootSoundSilenced = "Revolver/Shots.wav"
|
||||
SWEP.DistantShootSound = "Revolver/Shot.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_pistol_deagle"
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 0 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.RevolverReload = true
|
||||
|
||||
SWEP.SightTime = 0.28
|
||||
|
||||
SWEP.SpeedMult = 0.975
|
||||
SWEP.SightedSpeedMult = 0.75
|
||||
|
||||
SWEP.BarrelLength = 18
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.CaseBones = {
|
||||
[1] = "Bullet1",
|
||||
[2] = "Bullet2",
|
||||
[3] = "Bullet3",
|
||||
[4] = "Bullet4",
|
||||
[5] = "Bullet5",
|
||||
[6] = "Bullet6",
|
||||
}
|
||||
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-2.721, -2, 1.759),
|
||||
Ang = Angle(0, 0, 0),
|
||||
Magnification = 1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "normal"
|
||||
SWEP.HoldtypeActive = "pistol"
|
||||
SWEP.HoldtypeSights = "revolver"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_REVOLVER
|
||||
|
||||
SWEP.ActivePos = Vector(0, 0, 1)
|
||||
SWEP.ActiveAng = Angle(0, 1, 0)
|
||||
|
||||
SWEP.CustomizePos = Vector(20, 5, -5)
|
||||
|
||||
SWEP.HolsterPos = Vector(0, -10, -10)
|
||||
SWEP.HolsterAng = Angle(45, 0, 0)
|
||||
|
||||
SWEP.CrouchPos = Vector(-3, 0, 0)
|
||||
SWEP.CrouchAng = Angle(0, 0, -10)
|
||||
|
||||
SWEP.SprintPos = Vector(0, -10, -10)
|
||||
SWEP.SprintAng = Angle(45, 0, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.ExtraSightDist = 10
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["lastlightmr"] = {
|
||||
VMSkin = 1,
|
||||
WMSkin = 1,
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-19.2, 4.1, -2),
|
||||
ang = Angle(-10, 0, 180)
|
||||
}
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic",
|
||||
DefaultAttName = "Iron Sights",
|
||||
Slot = {"optic_lp", "optic"},
|
||||
Bone = "ValveBiped.Weapon_bone",
|
||||
Offset = {
|
||||
vpos = Vector(3, 0, 2.2),
|
||||
vang = Angle(0, 0, 0),
|
||||
},
|
||||
VMScale = Vector(0.7, 0.7, 0.7),
|
||||
CorrectiveAng = nil --Angle(90, 0, -90)
|
||||
},
|
||||
{
|
||||
PrintName = "Muzzle",
|
||||
DefaultAttName = "Standard Muzzle",
|
||||
Slot = "muzzle",
|
||||
Bone = "ValveBiped.Weapon_bone",
|
||||
Offset = {
|
||||
vpos = Vector(8.699, 0, 1.75),
|
||||
vang = Angle(0, 0, 0),
|
||||
wpos = Vector(15.2, 1, -4.3),
|
||||
wang = Angle(0, 0, 0)
|
||||
},
|
||||
VMScale = Vector(0.7, 0.7, 0.7),
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = "tac_pistol",
|
||||
Bone = "ValveBiped.Weapon_bone",
|
||||
Offset = {
|
||||
vpos = Vector(7, 0, 1),
|
||||
vang = Angle(0, -1, 0),
|
||||
wpos = Vector(15, 1, -3.4),
|
||||
wang = Angle(0, 0, 180)
|
||||
}
|
||||
},
|
||||
{
|
||||
PrintName = "Grip",
|
||||
Slot = "grip",
|
||||
DefaultAttName = "Standard Grip"
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
Slot = "ammo_bullet",
|
||||
},
|
||||
{
|
||||
PrintName = "Perk",
|
||||
Slot = {"perk", "perk_revolver"}
|
||||
},
|
||||
{
|
||||
PrintName = "Skin",
|
||||
Slot = {"metro_skinmr"},
|
||||
DefaultAttName = "Metro 2033",
|
||||
FreeSlot = true
|
||||
},
|
||||
{
|
||||
PrintName = "Charm",
|
||||
Slot = "charm",
|
||||
FreeSlot = true,
|
||||
Bone = "ValveBiped.Weapon_bone",
|
||||
Offset = {
|
||||
vpos = Vector(1.799, -0.301, -0.301), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(0, 0, 0),
|
||||
wpos = Vector(10, 1.25, -4),
|
||||
wang = Angle(0, -4.211, 180)
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle"
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
Time = 0.7,
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "ready",
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "shoot",
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "shoot",
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_REVOLVER,
|
||||
Time = 2.15,
|
||||
FrameRate = 30,
|
||||
LastClip1OutTime = 1.3,
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_REVOLVER,
|
||||
FrameRate = 30,
|
||||
LastClip1OutTime = 1.3,
|
||||
},
|
||||
}
|
||||
|
||||
sound.Add({
|
||||
name = "MR.BI",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "Revolver/Bulletsin.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "MR.BO",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "Revolver/Bulletsout.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "MR.Close",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "Revolver/Close.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "MR.Open",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "Revolver/Op.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "MR.MT",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "Revolver/Mt.wav"
|
||||
})
|
||||
@@ -0,0 +1,280 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Junk Weapons" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "Tikhar"
|
||||
SWEP.Trivia_Class = "Tikhar"
|
||||
SWEP.Trivia_Desc = "A makeshift air gun, surprisingly silent and accurate. Overpressurizing its tank increases power, but the extra pressure vents before long."
|
||||
SWEP.Trivia_Manufacturer = "Homemade"
|
||||
SWEP.Trivia_Calibre = "Ball Bearings"
|
||||
SWEP.Trivia_Mechanism = "Pneumatic"
|
||||
SWEP.Trivia_Country = "Russia"
|
||||
|
||||
SWEP.Slot = 3
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/c_Tikhar.mdl"
|
||||
SWEP.WorldModel = "models/weapons/c_Tikhar.mdl"
|
||||
SWEP.ViewModelFOV = 65
|
||||
|
||||
SWEP.DefaultBodygroups = "00000"
|
||||
|
||||
SWEP.Damage = 25
|
||||
SWEP.DamageMin = 25
|
||||
SWEP.Range = 50 -- in METRES
|
||||
SWEP.Penetration = 22
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 200 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
|
||||
SWEP.AlwaysPhysBullet = true
|
||||
SWEP.PhysTracerProfile = 0
|
||||
SWEP.TracerNum = 1
|
||||
SWEP.Tracer = "arccw_tracer"
|
||||
SWEP.TracerCol = Color(38, 38, 38)
|
||||
|
||||
SWEP.CanFireUnderwater = true
|
||||
SWEP.ChamberSize = 1 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 15 -- DefaultClip is automatically set.
|
||||
SWEP.ExtendedClipSize = 30
|
||||
SWEP.ReducedClipSize = 10
|
||||
|
||||
SWEP.Recoil = 0.9
|
||||
SWEP.RecoilSide = 0.65
|
||||
SWEP.RecoilRise = 1
|
||||
SWEP.VisualRecoilMult = 1
|
||||
|
||||
SWEP.Delay = 60 / 180 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.AccuracyMOA = 3 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 150 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 250
|
||||
|
||||
SWEP.Primary.Ammo = "ar2" -- what ammo type the gun uses
|
||||
|
||||
SWEP.ShootVol = 120 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 110 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "Tikhar/Shoot.wav"
|
||||
SWEP.DistantShootSound = "Tikhar/Shoot.wav"
|
||||
SWEP.ShootSoundSilenced = "Tikhar/Shoot.wav"
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 0 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.SpeedMult = 0.89
|
||||
SWEP.SightedSpeedMult = 0.65
|
||||
|
||||
SWEP.RevolverReload = true
|
||||
|
||||
SWEP.ProceduralRegularFire = false
|
||||
SWEP.ProceduralIronFire = false
|
||||
|
||||
SWEP.CaseBones = {
|
||||
[1] = "Bullet16",
|
||||
[2] = "Bullet15",
|
||||
[3] = "Bullet14",
|
||||
[4] = "Bullet13",
|
||||
[5] = "Bullet12",
|
||||
[6] = "Bullet11",
|
||||
[7] = "Bullet10",
|
||||
[8] = "Bullet9",
|
||||
[9] = "Bullet8",
|
||||
[10] = "Bullet7",
|
||||
[11] = "Bullet6",
|
||||
[12] = "Bullet5",
|
||||
[13] = "Bullet4",
|
||||
[14] = "Bullet3",
|
||||
[15] = "Bullet2",
|
||||
[16] = "Bullet1",
|
||||
}
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-3.217, 0, 0.959),
|
||||
Ang = Angle(0, 0, 0),
|
||||
Magnification = 1.1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_ar2"
|
||||
SWEP.NPCWeight = 100
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
SWEP.ActivePos = Vector(0, 0, 0)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.HolsterPos = Vector(3.5, 2, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.BarrelLength = 27
|
||||
|
||||
SWEP.ShellRotateAngle = Angle(180, 180, 0)
|
||||
|
||||
SWEP.ExtraSightDist = 6
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-13, 4, -4),
|
||||
ang = Angle(-10.52, 0, 180)
|
||||
}
|
||||
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic", -- print name
|
||||
DefaultAttName = "Iron Sights",
|
||||
Slot = {"optic", "optic_sniper", "optic_lp"}, -- what kind of attachments can fit here, can be string or table
|
||||
Bone = "Tikhar", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(0, -3.5, 14),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
VMScale = Vector(1.1, 1.1, 1.1),
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = {"foregrip", "bipod"},
|
||||
Bone = "Tikhar",
|
||||
Offset = {
|
||||
vpos = Vector(0, 0.699, 7.791),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = "tac",
|
||||
Bone = "Tikhar",
|
||||
Offset = {
|
||||
vpos = Vector(0.6, -2.597, 15.064), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(90, 0, 0),
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Grip",
|
||||
Slot = "grip",
|
||||
DefaultAttName = "Standard Grip"
|
||||
},
|
||||
{
|
||||
PrintName = "Fire Group",
|
||||
Slot = "fcg",
|
||||
DefaultAttName = "Standard FCG"
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
Slot = "ammo_bullet"
|
||||
},
|
||||
{
|
||||
PrintName = "Perk",
|
||||
Slot = "perk"
|
||||
},
|
||||
{
|
||||
PrintName = "Charm",
|
||||
Slot = "charm",
|
||||
FreeSlot = true,
|
||||
Bone = "Tikhar", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(0.7, -2.1, 5),
|
||||
vang = Angle(90, 0, -90),
|
||||
},
|
||||
VMScale = Vector(1, 1, 1),
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.BulletBones = {
|
||||
[1] = "Bullet16",
|
||||
[2] = "Bullet15",
|
||||
[3] = "Bullet14",
|
||||
[4] = "Bullet13",
|
||||
[5] = "Bullet12",
|
||||
[6] = "Bullet11",
|
||||
[7] = "Bullet10",
|
||||
[8] = "Bullet9",
|
||||
[9] = "Bullet8",
|
||||
[10] = "Bullet7",
|
||||
[11] = "Bullet6",
|
||||
[12] = "Bullet5",
|
||||
[13] = "Bullet4",
|
||||
[14] = "Bullet3",
|
||||
[15] = "Bullet2",
|
||||
[16] = "Bullet1",
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle"
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
Time = 1,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "ready",
|
||||
Time = 1.5,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.25,
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "shoot",
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "shoot",
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Checkpoints = {24, 60},
|
||||
FrameRate = 30,
|
||||
Time = 4.2,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.5,
|
||||
LastClip1OutTime = 2,
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
Checkpoints = {24, 60, 102},
|
||||
FrameRate = 30,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.5,
|
||||
LHIKOut = 0.5,
|
||||
LastClip1OutTime = 2,
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,328 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
SWEP.Base = "arccw_base"
|
||||
SWEP.Spawnable = true -- this obviously has to be set to true
|
||||
SWEP.Category = "Willard - Junk Weapons" -- edit this if you like
|
||||
SWEP.AdminOnly = false
|
||||
|
||||
SWEP.PrintName = "VSV"
|
||||
SWEP.TrueName = "VSK-94"
|
||||
SWEP.Trivia_Class = "Assault Rifle"
|
||||
SWEP.Trivia_Desc = "An accurate and powerful assault rifle good for medium-range combat. Its somewhat low muzzle velocity translates into lower noise and faster bullet drop."
|
||||
SWEP.Trivia_Manufacturer = "Konstruktorskoe Buro Priborostroeniya"
|
||||
SWEP.Trivia_Calibre = "5.45x39mm"
|
||||
SWEP.Trivia_Mechanism = "Gas-Operated"
|
||||
SWEP.Trivia_Country = "Russia"
|
||||
SWEP.Trivia_Year = 1994
|
||||
|
||||
SWEP.Slot = 2
|
||||
|
||||
if GetConVar("arccw_truenames"):GetBool() then SWEP.PrintName = SWEP.TrueName end
|
||||
|
||||
SWEP.UseHands = true
|
||||
|
||||
SWEP.ViewModel = "models/weapons/c_VSV.mdl"
|
||||
SWEP.WorldModel = "models/weapons/c_VSV.mdl"
|
||||
SWEP.ViewModelFOV = 65
|
||||
|
||||
SWEP.DefaultBodygroups = "000000000000"
|
||||
|
||||
SWEP.Damage = 16
|
||||
SWEP.DamageMin = 16
|
||||
SWEP.Range = 400 -- in METRES
|
||||
SWEP.Penetration = 11
|
||||
SWEP.DamageType = DMG_BULLET
|
||||
SWEP.ShootEntity = nil -- entity to fire, if any
|
||||
SWEP.MuzzleVelocity = 270 -- projectile or phys bullet muzzle velocity
|
||||
-- IN M/S
|
||||
SWEP.ChamberSize = 1 -- how many rounds can be chambered.
|
||||
SWEP.Primary.ClipSize = 20 -- DefaultClip is automatically set.
|
||||
|
||||
SWEP.PhysBulletMuzzleVelocity = 270
|
||||
|
||||
SWEP.Recoil = 0.62
|
||||
SWEP.RecoilSide = 0.255
|
||||
SWEP.RecoilRise = 0.2
|
||||
SWEP.RecoilPunch = 2.5
|
||||
|
||||
SWEP.Delay = 60 / 600 -- 60 / RPM.
|
||||
SWEP.Num = 1 -- number of shots per trigger pull.
|
||||
SWEP.Firemodes = {
|
||||
{
|
||||
Mode = 2,
|
||||
},
|
||||
{
|
||||
Mode = 1,
|
||||
},
|
||||
{
|
||||
Mode = 0
|
||||
}
|
||||
}
|
||||
|
||||
SWEP.NPCWeaponType = "weapon_ar2"
|
||||
SWEP.NPCWeight = 100
|
||||
|
||||
SWEP.AccuracyMOA = 9 -- accuracy in Minutes of Angle. There are 60 MOA in a degree.
|
||||
SWEP.HipDispersion = 650 -- inaccuracy added by hip firing.
|
||||
SWEP.MoveDispersion = 100
|
||||
|
||||
SWEP.Primary.Ammo = "smg1" -- what ammo type the gun uses
|
||||
SWEP.MagID = "stanag" -- the magazine pool this gun draws from
|
||||
|
||||
SWEP.ShootVol = 110 -- volume of shoot sound
|
||||
SWEP.ShootPitch = 100 -- pitch of shoot sound
|
||||
|
||||
SWEP.ShootSound = "VSV/shoot.wav"
|
||||
SWEP.DistantShootSound = "VSV/shoot2.wav"
|
||||
|
||||
SWEP.MeleeSwingSound = "arccw_go/m249/m249_draw.wav"
|
||||
SWEP.MeleeMissSound = "weapons/iceaxe/iceaxe_swing1.wav"
|
||||
SWEP.MeleeHitSound = "arccw_go/knife/knife_hitwall1.wav"
|
||||
SWEP.MeleeHitNPCSound = "physics/body/body_medium_break2.wav"
|
||||
|
||||
SWEP.MuzzleEffect = "muzzleflash_4"
|
||||
SWEP.ShellModel = "models/shells/shell_556.mdl"
|
||||
SWEP.ShellPitch = 95
|
||||
SWEP.ShellScale = 1.25
|
||||
SWEP.ShellRotateAngle = Angle(0, 180, 0)
|
||||
|
||||
SWEP.MuzzleEffectAttachment = 1 -- which attachment to put the muzzle on
|
||||
SWEP.CaseEffectAttachment = 2 -- which attachment to put the case effect on
|
||||
|
||||
SWEP.SpeedMult = 0.97
|
||||
SWEP.SightedSpeedMult = 0.75
|
||||
SWEP.SightTime = 0.30
|
||||
|
||||
SWEP.IronSightStruct = {
|
||||
Pos = Vector(-6.281, -5, 1.879),
|
||||
Ang = Angle(0, 0, 0),
|
||||
Magnification = 1.1,
|
||||
SwitchToSound = "", -- sound that plays when switching to this sight
|
||||
CrosshairInSights = false
|
||||
}
|
||||
|
||||
SWEP.HoldtypeHolstered = "passive"
|
||||
SWEP.HoldtypeActive = "ar2"
|
||||
SWEP.HoldtypeSights = "rpg"
|
||||
|
||||
SWEP.AnimShoot = ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2
|
||||
|
||||
SWEP.ActivePos = Vector(-1, 2, 0)
|
||||
SWEP.ActiveAng = Angle(0, 0, 0)
|
||||
|
||||
SWEP.CrouchPos = Vector(-4, 0, -1)
|
||||
SWEP.CrouchAng = Angle(0, 0, -10)
|
||||
|
||||
SWEP.HolsterPos = Vector(3, 3, 0)
|
||||
SWEP.HolsterAng = Angle(-7.036, 30.016, 0)
|
||||
|
||||
SWEP.BarrelOffsetSighted = Vector(0, 0, -1)
|
||||
SWEP.BarrelOffsetHip = Vector(2, 0, -2)
|
||||
|
||||
SWEP.CustomizePos = Vector(8, 0, 1)
|
||||
SWEP.CustomizeAng = Angle(5, 30, 30)
|
||||
|
||||
SWEP.BarrelLength = 24
|
||||
|
||||
SWEP.AttachmentElements = {
|
||||
["lastlightvsv"] = {
|
||||
VMSkin = 1,
|
||||
WMSkin = 1,
|
||||
},
|
||||
}
|
||||
SWEP.ExtraSightDist = 10
|
||||
SWEP.GuaranteeLaser = true
|
||||
|
||||
SWEP.WorldModelOffset = {
|
||||
pos = Vector(-12, 7, -3.5),
|
||||
ang = Angle(-10, 0, 180)
|
||||
}
|
||||
|
||||
SWEP.MirrorVMWM = true
|
||||
|
||||
SWEP.Attachments = {
|
||||
{
|
||||
PrintName = "Optic",
|
||||
Slot = {"optic", "optic_lp"},
|
||||
Bone = "VSV",
|
||||
DefaultAttName = "Iron Sights",
|
||||
Offset = {
|
||||
vpos = Vector(0.05, -3.1, 3.635),
|
||||
vang = Angle(90, 0, -90),
|
||||
wpos = Vector(22, 1, -7),
|
||||
wang = Angle(-9.79, 0, 180)
|
||||
},
|
||||
VMScale = Vector(1, 1, 1),
|
||||
InstalledEles = {"rs_none", "fs_down"},
|
||||
CorrectiveAng = Angle(0, 0, 0),
|
||||
},
|
||||
{
|
||||
PrintName = "Underbarrel",
|
||||
Slot = "foregrip",
|
||||
Bone = "VSV",
|
||||
Offset = {
|
||||
vpos = Vector(0, -1, 11),
|
||||
vang = Angle(90, 0, -90),
|
||||
wpos = Vector(22, 1, -7),
|
||||
wang = Angle(-9.79, 0, 180)
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Tactical",
|
||||
Slot = "tac",
|
||||
Bone = "VSV",
|
||||
Offset = {
|
||||
vpos = Vector(0, -0.7, 15),
|
||||
vang = Angle(90, 0, -90),
|
||||
wpos = Vector(22, 1, -7),
|
||||
wang = Angle(-9.79, 0, 180)
|
||||
},
|
||||
},
|
||||
{
|
||||
PrintName = "Ammo Type",
|
||||
Slot = "go_ammo",
|
||||
DefaultAttName = "Standard Ammo"
|
||||
},
|
||||
{
|
||||
PrintName = "Perk",
|
||||
Slot = "go_perk"
|
||||
},
|
||||
{
|
||||
PrintName = "Skin",
|
||||
Slot = {"metro_skinvsv"},
|
||||
DefaultAttName = "Metro 2033",
|
||||
FreeSlot = true
|
||||
},
|
||||
{
|
||||
PrintName = "Charm",
|
||||
Slot = "charm",
|
||||
FreeSlot = true,
|
||||
Bone = "VSV", -- relevant bone any attachments will be mostly referring to
|
||||
Offset = {
|
||||
vpos = Vector(0.6, -1.601, 0.4), -- offset that the attachment will be relative to the bone
|
||||
vang = Angle(90, 0, -90),
|
||||
wpos = Vector(6.099, 1.1, -3.301),
|
||||
wang = Angle(171.817, 180-1.17, 0),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
SWEP.BulletBones = {
|
||||
[1] = "Bullet20",
|
||||
[2] = "Bullet19",
|
||||
[3] = "Bullet18",
|
||||
[4] = "Bullet17",
|
||||
[5] = "Bullet16",
|
||||
[6] = "Bullet15",
|
||||
[7] = "Bullet14",
|
||||
[8] = "Bullet13",
|
||||
[9] = "Bullet12",
|
||||
[10] = "Bullet11",
|
||||
[11] = "Bullet10",
|
||||
[12] = "Bullet9",
|
||||
[13] = "Bullet8",
|
||||
[14] = "Bullet7",
|
||||
[15] = "Bullet6",
|
||||
[16] = "Bullet5",
|
||||
[17] = "Bullet4",
|
||||
[18] = "Bullet3",
|
||||
[19] = "Bullet2",
|
||||
[20] = "Bullet1",
|
||||
}
|
||||
|
||||
SWEP.Animations = {
|
||||
["idle"] = {
|
||||
Source = "idle",
|
||||
},
|
||||
["draw"] = {
|
||||
Source = "draw",
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
["ready"] = {
|
||||
Source = "ready",
|
||||
Time = 1.7,
|
||||
LHIK = true,
|
||||
LHIKIn = 0,
|
||||
LHIKOut = 0.5,
|
||||
},
|
||||
["fire"] = {
|
||||
Source = "shoot",
|
||||
Time = 0.5,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["fire_iron"] = {
|
||||
Source = "shoot_iron",
|
||||
Time = 0.5,
|
||||
ShellEjectAt = 0,
|
||||
},
|
||||
["reload"] = {
|
||||
Source = "reloadpart",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
Time = 2.3,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.2,
|
||||
LHIKEaseIn = 0.2,
|
||||
LHIKOut = 0.2,
|
||||
LHIKEaseOut = 0.2,
|
||||
LastClip1OutTime = 1,
|
||||
},
|
||||
["reload_empty"] = {
|
||||
Source = "reload",
|
||||
TPAnim = ACT_HL2MP_GESTURE_RELOAD_AR2,
|
||||
FrameRate = 30,
|
||||
Time = 3,
|
||||
LHIK = true,
|
||||
LHIKIn = 0.2,
|
||||
LHIKOut = 0.2,
|
||||
LHIKEaseOut = 0.2,
|
||||
LastClip1OutTime = 1,
|
||||
},
|
||||
["enter_inspect"] = {
|
||||
LHIK = false,
|
||||
},
|
||||
["idle_inspect"] = {
|
||||
LHIK = false,
|
||||
},
|
||||
["exit_inspect"] = {
|
||||
LHIK = false,
|
||||
},
|
||||
}
|
||||
|
||||
sound.Add({
|
||||
name = "Weapon_VSV.CA",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "VSV/VSVCA.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "Weapon_VSV.Clipout",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "VSV/VSVClipout.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "Weapon_VSV.Clipin",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "VSV/VSVClipin.wav"
|
||||
})
|
||||
|
||||
sound.Add({
|
||||
name = "VSV.Cliphit",
|
||||
channel = 16,
|
||||
volume = 1.0,
|
||||
sound = "VSV/cliphit.wav"
|
||||
})
|
||||
Reference in New Issue
Block a user