Initial commit

This commit is contained in:
Fesiug 2024-02-29 20:47:24 -05:00
commit faeffd2d95
155 changed files with 13104 additions and 0 deletions

10
.gitattributes vendored Normal file
View File

@ -0,0 +1,10 @@
# Auto detect text files and perform LF normalization
* text=auto
*.ogg filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.mdl filter=lfs diff=lfs merge=lfs -text
*.dx90.vtx filter=lfs diff=lfs merge=lfs -text
*.phy filter=lfs diff=lfs merge=lfs -text
*.vvd filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.vtf filter=lfs diff=lfs merge=lfs -text

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*.dx80.vtx
*.sw.vtx

2
README.md Normal file
View File

@ -0,0 +1,2 @@
# Decay
Urban Decay for Garry's Mod

View File

@ -0,0 +1,33 @@
att.PrintName = "Express-12 30\" Long Barrel"
att.AbbrevName = "30\" Long Barrel"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "Remington 870 30\" Wingmaster Barrel"
att.AbbrevName = "30\" Wingmaster Barrel"
end
att.Icon = Material("entities/att/acwatt_ud_870_barrel_long.png", "smooth mips")
att.Description = "Extended, unwieldy barrel. Reduces pellet spread and improves range."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_870_barrel"
att.AutoStats = true
att.Mult_AccuracyMOA = 0.8
att.Mult_Recoil = 0.8
att.Mult_Range = 1.2
att.Mult_Sway = 1.5
att.Mult_SightTime = 1.25
att.Mult_SpeedMult = 0.95
att.Mult_HipDispersion = 1.25
att.Add_BarrelLength = 4
att.ActivateElements = {"ud_870_barrel_long"}

View File

@ -0,0 +1,40 @@
att.PrintName = "Express-12 10\" ACCWS Breacher Barrel"
att.AbbrevName = "10\" Breacher Barrel"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "Remington 870 MCS 10\" Breacher Barrel"
end
att.Icon = Material("entities/att/acwatt_ud_870_barrel_sawnoff.png", "smooth mips")
att.Description = "Hand-made short barrel with no sights. More agile and has a bigger pellet spread."
att.Desc_Pros = {
}
att.Desc_Cons = {
"uc.nofs",
}
att.Desc_Neutrals = {
}
att.Slot = "ud_870_barrel"
att.AutoStats = true
att.SortOrder = -1
att.Mult_AccuracyMOA = 1.5
att.Mult_Recoil = 1.25
att.Mult_Range = 0.8
att.Mult_Sway = 0.5
att.Mult_SightTime = 0.75
att.Mult_SpeedMult = 1.05
att.Mult_HipDispersion = 0.75
att.Add_BarrelLength = -4
att.A_Hook_Add_SightsDispersion = function(wep, data)
if data and !wep.Attachments[1].Installed then
data.add = data.add + 250
end
end
att.ActivateElements = {"ud_870_barrel_sawnoff"}

View File

@ -0,0 +1,9 @@
att.PrintName = "Ring Sight"
att.Icon = Material("entities/att/acwatt_ud_870_optic_ringsight.png", "mips smooth")
att.Description = "Rear sight module that allows for easier iron sight alignment but a reduced field of vision."
att.Slot = "ud_870_optic"
att.Desc_Neutrals = {"uc.cosmetic"}
att.SortOrder = 999
att.AutoStats = true

View File

@ -0,0 +1,5 @@
att.PrintName = "Worn Nickel"
att.Icon = Material("", "smooth mips")
att.Description = "Been through a lot, yet ready for more."
att.Desc_Neutrals = {"uc.cosmetic"}
att.Slot = "ud_870_skin"

View File

@ -0,0 +1,32 @@
att.PrintName = "Express-12 Long Forend"
att.AbbrevName = "Long Forend"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "Remington 870 Long Forend"
end
att.Icon = Material("entities/att/acwatt_ud_870_slide_long.png", "smooth mips")
att.Description = "Long wood forend for the R870. Additional heft improves grip but is slower to cycle."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_870_slide"
att.AutoStats = true
--att.Mult_SightTime = 1.75
--att.Mult_Recoil = 0.5
--att.Mult_Sway = 3
att.Mult_SightTime = 1.15
att.Mult_Sway = 0.75
att.Mult_Recoil = 0.9
att.Mult_RecoilSide = 0.5
att.Mult_CycleTime = 1.1
att.ActivateElements = {"ud_870_slide_long"}

View File

@ -0,0 +1,37 @@
att.PrintName = "Express-12 MOE Forend"
att.AbbrevName = "MOE Forend"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "Remington 870 MOE Forend"
end
att.Icon = Material("entities/att/acwatt_ud_870_slide_moe.png", "smooth mips")
att.Description = "A lightweight polymer forend. Easier to cycle but harder to grip on, increasing both fire rate and recoil."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_870_slide"
att.AutoStats = true
-- att.Mult_SightTime = 0.75
-- att.Mult_Recoil = 1.15
-- att.Mult_Sway = 1.15
att.Mult_SightTime = 0.85
att.Mult_Sway = 1.25
att.Mult_Recoil = 1.1
att.Mult_RecoilSide = 1.5
att.Mult_CycleTime = 0.9
att.LHIK = true
att.ModelOffset = Vector(-0, 0.1, 0.2)
att.Model = "models/weapons/arccw/atts/moe_lhik.mdl"
att.ActivateElements = {"ud_870_slide_moe"}

View File

@ -0,0 +1,28 @@
att.PrintName = "Express-12 Polymer Forend"
att.AbbrevName = "Polymer Forend"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "Remington 870 Polymer Forend"
end
att.Icon = Material("entities/att/acwatt_ud_870_slide_poly.png", "smooth mips")
att.Description = "A hardened polymer forend, improving sighted mobility slightly."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_870_slide"
att.AutoStats = true
att.Mult_SightTime = 0.95
att.Mult_SightedSpeedMult = 1.05
att.Mult_RecoilSide = 1.15
att.LHIK = true
att.Model = "models/weapons/arccw/atts/poly_lhik.mdl"
att.ActivateElements = {"ud_870_slide_poly"}

View File

@ -0,0 +1,24 @@
att.PrintName = "Express-12 Polymer Stock"
att.AbbrevName = "Polymer Stock"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "Remington 870 Polymer Stock"
end
att.Icon = Material("entities/att/acwatt_ud_870_stock.png", "smooth mips")
att.Description = "Lightweight polymer stock."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_870_stock"
att.AutoStats = true
att.Mult_SightedSpeedMult = 1.1
att.Mult_SightTime = 0.9
att.Mult_Recoil = 1.15
att.ActivateElements = {"ud_870_stock_poly"}

View File

@ -0,0 +1,36 @@
att.PrintName = "Express-12 Raptor Grip"
att.AbbrevName = "Raptor Grip"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "Remington 870 Tac-14 Grip"
att.AbbrevName = "Tac-14 Grip"
end
att.Icon = Material("entities/att/acwatt_ud_870_stock_raptor.png", "smooth mips")
att.Description = "Stockless polymer grip for when you simply don't care about accuracy or control, and just want the lightest gun possible."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_870_stock"
att.AutoStats = true
att.Mult_SpeedMult = 1.05
att.Mult_SightTime = 0.6
att.Mult_SightedSpeedMult = 1.2
att.Mult_ShootSpeedMult = 1.1
att.Mult_DrawTime = 0.6
att.Mult_HolsterTime = 0.6
att.Mult_Recoil = 1.75
att.Mult_RecoilSide = 2
att.Mult_VisualRecoilMult = 0.5
att.Add_BarrelLength = -4
att.Mult_Sway = 3
att.ActivateElements = {"ud_870_stock_raptor"}

View File

@ -0,0 +1,35 @@
att.PrintName = "Express-12 Sawn-off Stock"
att.AbbrevName = "Sawn-off Stock"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "Remington 870 Sawn-off Stock"
end
att.Icon = Material("entities/att/acwatt_ud_870_stock_sawnoff.png", "smooth mips")
att.Description = "Wooden stock with only a grip remaining. In case you want to roleplay as a bank robber."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_870_stock"
att.AutoStats = true
att.Mult_SpeedMult = 1.025
att.Mult_SightTime = 0.75
att.Mult_SightedSpeedMult = 1.1
att.Mult_ShootSpeedMult = 1.05
att.Mult_DrawTime = 0.75
att.Mult_HolsterTime = 0.75
att.Mult_Recoil = 1.5
att.Mult_RecoilSide = 2
att.Mult_VisualRecoilMult = 0.5
att.Add_BarrelLength = -4
att.Mult_Sway = 3
att.ActivateElements = {"ud_870_stock_sawnoff"}

View File

@ -0,0 +1,24 @@
att.PrintName = "Express-12 8 Shell Tube"
att.AbbrevName = "8 Shell Tube"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "Remington 870 8 Shell Tube"
end
att.Icon = Material("entities/att/acwatt_ud_870_tube_ext.png", "smooth mips")
att.Description = "An extension of the default shell tube holds more rounds, but increases weapon weight."
att.Desc_Pros = {}
att.Desc_Cons = {}
att.Desc_Neutrals = {}
att.Slot = "ud_870_tube"
att.AutoStats = true
att.Override_ClipSize = 8
att.Mult_Sway = 1.5
att.Mult_SightedSpeedMult = 0.8
att.Mult_SightTime = 1.15
att.Mult_ReloadTime = 1.1
att.ActivateElements = {"ud_870_tube_ext"}

View File

@ -0,0 +1,23 @@
att.PrintName = "Express-12 4 Shell Tube"
att.AbbrevName = "4 Shell Tube"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "Remington 870 4 Shell Tube"
end
att.Icon = Material("entities/att/acwatt_ud_870_tube_reduced.png", "smooth mips")
att.Description = "Shortened shell tube that holds fewer rounds, but reduces weapon weight."
att.Desc_Pros = {}
att.Desc_Cons = {}
att.Desc_Neutrals = {}
att.Slot = "ud_870_tube"
att.AutoStats = true
att.Override_ClipSize = 4
att.Mult_Sway = 0.75
att.Mult_SightedSpeedMult = 1.1
att.Mult_SightTime = 0.85
att.Mult_ReloadTime = 0.9
att.ActivateElements = {"ud_870_tube_reduced"}

View File

@ -0,0 +1,69 @@
att.PrintName = "Glock 10mm Auto Conversion"
att.AbbrevName = "10mm Auto"
if !GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "GEN3 10mm Auto Conversion"
end
att.SortOrder = 80
att.Icon = Material("entities/att/uc_bullets/10.png", "smooth mips")
att.Description = "The FBI's preferred caliber of choice.\nSignificantly more powerful, but weapon handling suffers."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_glock_caliber"
att.AutoStats = true
att.Override_Trivia_Calibre = "10mm Auto"
att.Mult_Damage = ArcCW.UC.CalConv("9mm", "10mm", "max")
att.Mult_DamageMin = ArcCW.UC.CalConv("9mm", "10mm", "min")
att.Mult_Penetration = ArcCW.UC.CalConv("9mm", "10mm", "pen")
att.Mult_Recoil = 1.25
att.Mult_RecoilSide = 1.25
att.Mult_ReloadTime = 1.15
att.Mult_MalfunctionMean = 0.75
att.Mult_PhysBulletMuzzleVelocity = 400 / 375
att.Mult_ClipSize = 0.9
att.Override_ShellScale = 1
local path = ")weapons/arccw_ud/glock/"
local common = ")/arccw_uc/common/"
local tail = common .. "10x25/"
local fire10 = {path .. "fire-10-01.ogg",path .. "fire-10-02.ogg",path .. "fire-10-03.ogg",path .. "fire-10-04.ogg",path .. "fire-10-05.ogg",path .. "fire-10-06.ogg"}
local fire10sup = {path .. "fire-40-sup-01.ogg",path .. "fire-40-sup-02.ogg",path .. "fire-40-sup-03.ogg",path .. "fire-40-sup-04.ogg",path .. "fire-40-sup-05.ogg",path .. "fire-40-sup-06.ogg"}
local fire10dist = {tail .. "fire-dist-10x25-pistol-ext-01.ogg", tail .. "fire-dist-10x25-pistol-ext-02.ogg", tail .. "fire-dist-10x25-pistol-ext-03.ogg", tail .. "fire-dist-10x25-pistol-ext-04.ogg", tail .. "fire-dist-10x25-pistol-ext-05.ogg", tail .. "fire-dist-10x25-pistol-ext-06.ogg"}
local fire10distint = {common .. "fire-dist-int-pistol-heavy-01.ogg", common .. "fire-dist-int-pistol-heavy-02.ogg", common .. "fire-dist-int-pistol-heavy-03.ogg", common .. "fire-dist-int-pistol-heavy-04.ogg", common .. "fire-dist-int-pistol-heavy-05.ogg", common .. "fire-dist-int-pistol-heavy-06.ogg"}
att.Hook_GetShootSound = function(wep, sound)
if wep:GetBuff_Override("Silencer") then
return fire10sup
else
return fire10
end
end
att.Hook_GetDistantShootSoundOutdoors = function(wep, distancesound)
if wep:GetBuff_Override("Silencer") then
-- fallback to script
else
return fire10dist
end
end
att.Hook_GetDistantShootSoundIndoors = function(wep, distancesound)
if wep:GetBuff_Override("Silencer") then
-- fallback to script
else
return fire10distint
end
end

View File

@ -0,0 +1,73 @@
att.PrintName = "Glock .22 LR Conversion"
att.AbbrevName = ".22 LR"
if not GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "GEN3 .22 LR Conversion"
end
att.SortOrder = 00
att.Icon = Material("entities/att/uc_bullets/22lr.png", "smooth mips")
att.Description = "A plinking cartridge that is easy to handle but not very lethal.\nIts form factor allows more rounds to be stuffed into magazines."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_glock_caliber"
att.AutoStats = true
att.Override_Trivia_Calibre = ".22 Long Rifle"
att.Override_Ammo = "plinking"
att.Mult_Damage = ArcCW.UC.CalConv("9mm", "22lr", "max")
att.Mult_DamageMin = ArcCW.UC.CalConv("9mm", "22lr", "min")
att.Mult_Penetration = ArcCW.UC.CalConv("9mm", "22lr", "pen")
att.Mult_Recoil = 0.25
att.Mult_VisualRecoilMult = 0.25
att.Mult_RPM = 1.5
att.Mult_Penetration = 0.1
att.Mult_ShootSpeedMult = 1.2
att.Override_PhysTracerProfile = "uc_plinking"
att.Mult_PhysBulletMuzzleVelocity = 325 / 375
att.Mult_ClipSize = 1.2
att.Override_ShellModel = "models/weapons/arccw/uc_shells/22lr.mdl"
att.Override_ShellScale = 1
att.Override_ShellSounds = ArcCW.TinyShellSoundsTable
local path = "arccw_uc/common/"
local fire22 = {path .. "fire-22-01.ogg",path .. "fire-22-02.ogg",path .. "fire-22-03.ogg",path .. "fire-22-04.ogg",path .. "fire-22-05.ogg",path .. "fire-22-06.ogg"}
local fire22sup = {path .. "fire-22-sup-01.ogg",path .. "fire-22-sup-02.ogg",path .. "fire-22-sup-03.ogg",path .. "fire-22-sup-04.ogg",path .. "fire-22-sup-05.ogg",path .. "fire-22-sup-06.ogg"}
local fire22dist = {path .. "fire-22-dist-01.ogg", path .. "fire-22-dist-02.ogg", path .. "fire-22-dist-03.ogg", path .. "fire-22-dist-04.ogg", path .. "fire-22-dist-05.ogg", path .. "fire-22-dist-06.ogg"}
local fire22distint = {path .. "fire-dist-int-pistol-light-01.ogg", path .. "fire-dist-int-pistol-light-02.ogg", path .. "fire-dist-int-pistol-light-03.ogg", path .. "fire-dist-int-pistol-light-04.ogg", path .. "fire-dist-int-pistol-light-05.ogg", path .. "fire-dist-int-pistol-light-06.ogg"}
att.Hook_GetShootSound = function(wep, sound)
if wep:GetBuff_Override("Silencer") then
return fire22sup
else
return fire22
end
end
att.Hook_GetDistantShootSoundOutdoors = function(wep, distancesound)
if wep:GetBuff_Override("Silencer") then
-- fallback to script
else
return fire22dist
end
end
att.Hook_GetDistantShootSoundIndoors = function(wep, distancesound)
if wep:GetBuff_Override("Silencer") then
-- fallback to script
else
return fire22distint
end
end

View File

@ -0,0 +1,66 @@
att.PrintName = "Glock .357 SIG Conversion"
att.AbbrevName = ".357 SIG"
if !GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "GEN3 .357 SIG Conversion"
end
att.SortOrder = 90
att.Icon = Material("entities/att/uc_bullets/357sig.png", "smooth mips")
att.Description = "A law-enforcement caliber well-known for its accuracy."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_glock_caliber"
att.AutoStats = true
att.Override_Trivia_Calibre = ".357 SIG"
att.Mult_Damage = ArcCW.UC.CalConv("9mm", "357sig", "max")
att.Mult_DamageMin = ArcCW.UC.CalConv("9mm", "357sig", "min")
att.Mult_Penetration = ArcCW.UC.CalConv("9mm", "357sig", "pen")
att.Mult_AccuracyMOA = 0.5
att.Mult_Recoil = 1.15
att.Override_PhysBulletMuzzleVelocity = 410
att.Mult_ClipSize = 0.9
att.Override_ShellModel = "models/weapons/arccw/uc_shells/357sig.mdl"
att.Override_ShellScale = 1
local path = ")weapons/arccw_ud/glock/"
local common = ")/arccw_uc/common/"
local tail = common .. "357sig/"
local fire357 = {path .. "fire-357-01.ogg",path .. "fire-357-02.ogg",path .. "fire-357-03.ogg",path .. "fire-357-04.ogg",path .. "fire-357-05.ogg",path .. "fire-357-06.ogg"}
local fire357sup = {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"} -- Placeholder
local fire357dist = {tail .. "fire-dist-357sig-pistol-ext-01.ogg",tail .. "fire-dist-357sig-pistol-ext-02.ogg",tail .. "fire-dist-357sig-pistol-ext-03.ogg",tail .. "fire-dist-357sig-pistol-ext-04.ogg",tail .. "fire-dist-357sig-pistol-ext-05.ogg",tail .. "fire-dist-357sig-pistol-ext-06.ogg"}
att.Hook_GetShootSound = function(wep, sound)
if wep:GetBuff_Override("Silencer") then
return fire357sup
else
return fire357
end
end
att.Hook_GetDistantShootSoundOutdoors = function(wep, distancesound)
if wep:GetBuff_Override("Silencer") then
-- fallback to script
else
return fire357dist
end
end
att.Hook_GetDistantShootSoundIndoors = function(wep, distancesound)
if wep:GetBuff_Override("Silencer") then
-- fallback to script
else
-- fallback to script
end
end

View File

@ -0,0 +1,68 @@
att.PrintName = "Glock .380 ACP Conversion"
att.AbbrevName = ".380 ACP"
if !GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "GEN3 .380 ACP Conversion"
end
att.SortOrder = 50
att.Icon = Material("entities/att/uc_bullets/380acp.png", "smooth mips")
att.Description = "An old and smaller pistol caliber that is somewhat obsolete.\nHas lower recoil and reduced effective range."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_glock_caliber"
att.AutoStats = true
att.Override_Trivia_Calibre = ".380 ACP"
att.Mult_Damage = ArcCW.UC.CalConv("9mm", "380acp", "max")
att.Mult_DamageMin = ArcCW.UC.CalConv("9mm", "380acp", "min")
att.Mult_Penetration = ArcCW.UC.CalConv("9mm", "380acp", "pen")
att.Mult_Recoil = 0.65
att.Override_PhysBulletMuzzleVelocity = 310
att.Override_ShellModel = "models/weapons/arccw/uc_shells/357sig.mdl"
att.Override_ShellScale = 1
local path = ")weapons/arccw_ud/glock/"
local common = ")/arccw_uc/common/"
local tail = common .. "357sig/"
local fire380 = "weapons/arccw_ud/glock/fire_380.ogg"
local fire380sup = { "weapons/arccw_ud/glock/fire_supp_380.ogg" }
local fire380dist = { "weapons/arccw_ud/glock/fire_dist_380.ogg" }
local fire380distint = {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"}
att.Hook_GetShootSound = function(wep, sound)
if wep:GetBuff_Override("Silencer") then
return fire380sup
else
return fire380
end
end
att.Hook_GetDistantShootSoundOutdoors = function(wep, distancesound)
if wep:GetBuff_Override("Silencer") then
-- fallback to script
else
return fire380dist
end
end
att.Hook_GetDistantShootSoundIndoors = function(wep, distancesound)
if wep:GetBuff_Override("Silencer") then
-- fallback to script
else
return fire380distint
end
end
att.GivesFlags = {"cal_subsonic"}
att.ExcludeFlags = {"powder_subsonic"}

View File

@ -0,0 +1,71 @@
att.PrintName = "Glock .40 S&W Conversion"
att.AbbrevName = ".40 S&W"
if !GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "GEN3 .40 S&W Conversion"
end
att.SortOrder = 100
att.Icon = Material("entities/att/uc_bullets/40sw.png", "smooth mips")
att.Description = "Law-enforcement caliber with a slightly larger bullet and shorter case.\nRetains damage over distance better than other calibers."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_glock_caliber"
att.AutoStats = true
att.Override_Trivia_Calibre = ".40 S&W"
att.Mult_Damage = ArcCW.UC.CalConv("9mm", "40sw", "max")
att.Mult_DamageMin = ArcCW.UC.CalConv("9mm", "40sw", "min")
att.Mult_Penetration = ArcCW.UC.CalConv("9mm", "40sw", "pen")
att.Mult_Recoil = 1.15
att.Override_PhysBulletMuzzleVelocity = 300
att.Mult_ClipSize = .9
att.Override_ShellModel = "models/weapons/arccw/uc_shells/40sw.mdl"
att.Override_ShellScale = 1
local path = ")weapons/arccw_ud/glock/"
local common = ")/arccw_uc/common/"
local tail = common .. "40sw/"
local fire40 = {path .. "fire-40-01.ogg",path .. "fire-40-02.ogg",path .. "fire-40-03.ogg",path .. "fire-40-04.ogg",path .. "fire-40-05.ogg",path .. "fire-40-06.ogg"}
local fire40sup = {path .. "fire-40-sup-01.ogg",path .. "fire-40-sup-02.ogg",path .. "fire-40-sup-03.ogg",path .. "fire-40-sup-04.ogg",path .. "fire-40-sup-05.ogg",path .. "fire-40-sup-06.ogg"}
local fire40dist = {tail .. "fire-dist-40sw-pistol-ext-01.ogg", tail .. "fire-dist-40sw-pistol-ext-02.ogg", tail .. "fire-dist-40sw-pistol-ext-03.ogg", tail .. "fire-dist-40sw-pistol-ext-04.ogg", tail .. "fire-dist-40sw-pistol-ext-05.ogg", tail .. "fire-dist-40sw-pistol-ext-06.ogg"}
local fire40distint = {common .. "fire-dist-int-pistol-heavy-01.ogg", common .. "fire-dist-int-pistol-heavy-02.ogg", common .. "fire-dist-int-pistol-heavy-03.ogg", common .. "fire-dist-int-pistol-heavy-04.ogg", common .. "fire-dist-int-pistol-heavy-05.ogg", common .. "fire-dist-int-pistol-heavy-06.ogg"}
att.Hook_GetShootSound = function(wep, sound)
if wep:GetBuff_Override("Silencer") then
return fire40sup
else
return fire40
end
end
att.Hook_GetDistantShootSoundOutdoors = function(wep, distancesound)
if wep:GetBuff_Override("Silencer") then
-- fallback to script
else
return fire40dist
end
end
att.Hook_GetDistantShootSoundIndoors = function(wep, distancesound)
if wep:GetBuff_Override("Silencer") then
-- fallback to script
else
return fire40distint
end
end
att.GivesFlags = {"cal_subsonic"}
att.ExcludeFlags = {"powder_subsonic"}

View File

@ -0,0 +1,73 @@
att.PrintName = "Glock .45 ACP Conversion"
att.AbbrevName = ".45 ACP"
if !GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "GEN3 .45 ACP Conversion"
end
att.SortOrder = 70
att.Icon = Material("entities/att/uc_bullets/45acp.png", "smooth mips")
att.Description = "A venerable caliber with excellent close-range stopping power.\nBecause of the large bullet diameter, magazine capacity is significantly reduced."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_glock_caliber"
att.AutoStats = true
att.Override_Trivia_Calibre = ".45 ACP"
att.Mult_Damage = ArcCW.UC.CalConv("9mm", "45acp", "max")
att.Mult_DamageMin = ArcCW.UC.CalConv("9mm", "45acp", "min")
att.Mult_Penetration = ArcCW.UC.CalConv("9mm", "45acp", "pen")
att.Mult_RangeMin = 0.5
att.Mult_Recoil = 1.5
att.Mult_RecoilSide = 1.5
att.Mult_MalfunctionMean = 0.6
att.Override_PhysBulletMuzzleVelocity = 320
att.Mult_ClipSize = 0.76
att.Mult_RPM = 0.7619
local path = ")weapons/arccw_ud/glock/"
local common = ")/arccw_uc/common/"
local tail = common .. "45acp/"
local fire45 = {path .. "fire-45-01.ogg",path .. "fire-45-02.ogg",path .. "fire-45-03.ogg",path .. "fire-45-04.ogg",path .. "fire-45-05.ogg",path .. "fire-45-06.ogg"}
local fire45sup = {path .. "fire-45-sup-01.ogg",path .. "fire-45-sup-02.ogg",path .. "fire-45-sup-03.ogg",path .. "fire-45-sup-04.ogg",path .. "fire-45-sup-05.ogg",path .. "fire-45-sup-06.ogg"}
local fire45dist = {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"}
local fire45distint = {common .. "fire-dist-int-pistol-heavy-01.ogg", common .. "fire-dist-int-pistol-heavy-02.ogg", common .. "fire-dist-int-pistol-heavy-03.ogg", common .. "fire-dist-int-pistol-heavy-04.ogg", common .. "fire-dist-int-pistol-heavy-05.ogg", common .. "fire-dist-int-pistol-heavy-06.ogg"}
att.Hook_GetShootSound = function(wep, sound)
if wep:GetBuff_Override("Silencer") then
return fire45sup
else
return fire45
end
end
att.Hook_GetDistantShootSoundOutdoors = function(wep, distancesound)
if wep:GetBuff_Override("Silencer") then
-- fallback to script
else
return fire45dist
end
end
att.Hook_GetDistantShootSoundIndoors = function(wep, distancesound)
if wep:GetBuff_Override("Silencer") then
-- fallback to script
else
return fire45distint
end
end
att.GivesFlags = {"cal_subsonic"}
att.ExcludeFlags = {"powder_subsonic"}

View File

@ -0,0 +1,32 @@
att.PrintName = "GEN3 Flared Frame"
att.AbbrevName = "Flared Magwell"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "Glock 17 Flared Frame"
end
att.Icon = Material("entities/att/acwatt_ud_glock_frame_flared.png", "smooth mips")
att.Description = "Custom frame with a flared magwell to facilitate faster reloads. The extra weight slows down handling by a bit."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_glock_frame"
att.AutoStats = true
att.Mult_ReloadTime = 0.9
att.Mult_SightTime = 1.1
att.Mult_SightedSpeedMult = 0.95
att.Mult_DrawTime = 1.25
att.Mult_HolsterTime = 1.25
att.ActivateElements = {"ud_glock_frame_flared"}
-- att.Hook_SelectReloadAnimation = function(wep, anim)
-- if anim == "reload_empty" then
-- return "reload_empty_flared"
-- end
-- end

View File

@ -0,0 +1,29 @@
att.PrintName = "GEN3K Subcompact Frame"
att.AbbrevName = "Subcompact Frame"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "Glock 26 Subcompact Frame"
end
att.Icon = Material("entities/att/acwatt_ud_glock_frame_subcompact.png", "smooth mips")
att.Description = "A smaller frame that is noticably shorter on the magwell.\nFast to handle, but the smaller grip surface affects recoil control."
att.Desc_Pros = {
"ud.glock.subcompact"
}
att.Desc_Cons = {
"uc.nostocks"
}
att.Desc_Neutrals = {
}
att.Slot = "ud_glock_frame"
att.AutoStats = true
att.Mult_DrawTime = 0.75
att.Mult_HolsterTime = 0.75
att.Mult_Recoil = 1.15
att.Mult_SightedSpeedMult = 1.05
att.Mult_SightTime = 0.8
att.ActivateElements = {"ud_glock_frame_subcompact"}
att.GivesFlags = {"ud_glock_frame_subcompact"}

View File

@ -0,0 +1,38 @@
att.PrintName = "Glock 10-Round Compact Mag"
att.AbbrevName = "10-Round Compact Mag"
if !GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "GEN3 10-Round Compact Mag"
end
att.SortOrder = 10
att.Icon = Material("entities/att/acwatt_ud_glock_mag_10.png", "smooth mips")
att.Description = "Low-capacity magazine for the Glock, available on subcompact variants like the Glock 26. The lighter load makes the weapon even more ergonomic."
att.Desc_Pros = {}
att.Desc_Cons = {}
att.Desc_Neutrals = {}
att.Slot = "ud_glock_mag"
att.AutoStats = true
att.Mult_SightTime = 0.9
att.Mult_ReloadTime = 0.9
att.Override_ClipSize = 10
att.Mult_SpeedMult = 1.05
att.Mult_Sway = 0.5
att.Mult_HipDispersion = 0.75
att.ActivateElements = {"ud_glock_10_mag"}
att.RequireFlags = {"ud_glock_frame_subcompact"}
att.Hook_SelectReloadAnimation = function(wep, anim)
return anim .. "_10"
end
att.Hook_TranslateAnimation = function(wep, anim)
if (anim == "fix") then
return anim .. "_10"
end
end

View File

@ -0,0 +1,43 @@
att.PrintName = "Glock 100-Round C-Mag"
att.AbbrevName = "100-Round C-Mag"
if !GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "GEN3 100-Round C-Mag"
end
att.SortOrder = 100
att.Icon = Material("entities/att/acwatt_ud_glock_mag_100.png", "smooth mips")
att.Description = "Twin-drum magazine ideal for suppressive fire (a nicer way to say \"mag dump\"). Bulky construction and high ammo capacity substantially increases weight and shifts the weapon's center of balance. Prone to jamming."
att.Desc_Pros = {}
att.Desc_Cons = {
"uc.jam"
}
att.Desc_Neutrals = {}
att.Slot = "ud_glock_mag"
att.AutoStats = true
att.Mult_SpeedMult = 0.95
att.Mult_SightTime = 1.2
att.Mult_ReloadTime = 1.5
att.Override_ClipSize = 100
att.Mult_HipDispersion = 1.5
att.Mult_Sway = 3
att.Mult_ShootSpeedMult = 0.9
att.Override_Malfunction = true
att.Mult_MalfunctionMean = 0.6
att.Mult_MalfunctionVariance = 1.5
att.ActivateElements = {"ud_glock_100_mag"}
att.Hook_SelectReloadAnimation = function(wep, anim)
return anim .. "_100"
end
att.Hook_TranslateAnimation = function(wep, anim)
if (anim == "fix") then
return anim .. "_100"
end
end

View File

@ -0,0 +1,44 @@
att.PrintName = "Glock 33-Round Extended Mag"
att.AbbrevName = "33-Round Extended Mag"
if !GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "GEN3 33-Round Extended Mag"
end
att.SortOrder = 33
att.Icon = Material("entities/att/acwatt_ud_glock_mag_33.png", "smooth mips")
att.Description = "Extended stick magazine. Heavier and throws off weapon balance, but does allow you to fire for longer."
att.Desc_Pros = {}
att.Desc_Cons = {
"uc.jam"
}
att.Desc_Neutrals = {}
att.Slot = "ud_glock_mag"
att.AutoStats = true
att.Mult_SightTime = 1.1
att.Mult_ReloadTime = 1.15
att.Override_ClipSize = 33
att.Mult_HipDispersion = 1.25
att.Mult_Sway = 1.5
att.Mult_ShootSpeedMult = 0.95
att.Mult_HipDispersion = 1.25
att.Override_Malfunction = true
att.Mult_MalfunctionMean = 0.85
att.Mult_MalfunctionVariance = 1.5
att.ActivateElements = {"ud_glock_33_mag"}
att.Hook_SelectReloadAnimation = function(wep, anim)
return anim .. "_33"
end
att.Hook_TranslateAnimation = function(wep, anim)
if (anim == "fix") then
return anim .. "_33"
end
end

View File

@ -0,0 +1,32 @@
att.PrintName = "KKM Precision Compensator"
att.AbbrevName = "KKM Compensator"
att.Icon = Material("entities/att/kkm.png", "mips smooth")
att.Description = "Weapon-exclusive compensator that redirects propellant gasses to reduce weapon recoil.\nHighly effective, but reduces weapon cyclic rate."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.AutoStats = true
att.AutoStats = true
att.Slot = {"ud_glock_muzzle"}
-- att.Slot = {"muzzle"}
att.SortOrder = 500
att.Model = "models/weapons/arccw/atts/uc_kkm_brake.mdl"
att.ModelOffset = Vector(0.59, 0, 0.165)
att.ModelScale = Vector(1.25, 1.25, 1.25)
att.OffsetAng = Angle(0, 0, 0)
att.IsMuzzleDevice = true
att.Mult_Recoil = 0.7
att.Mult_RecoilSide = 0.8
att.Add_BarrelLength = 2
att.Mult_SightTime = 1.1
att.Mult_Sway = 1.15
att.Mult_RPM = 0.85
att.Mult_ShootVol = 1.2
att.AttachSound = "arccw_uc/common/gunsmith/suppressor_thread.ogg"

View File

@ -0,0 +1,12 @@
att.PrintName = "Glock 17 Custom Finish"
att.Description = "Make your Glock truly yours by giving it a horrible color nobody else wants to touch."
att.AbbrevName = "Custom"
if !GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "GEN3 Custom Finish"
att.Description = "Make your gun truly yours by giving it a horrible color nobody else wants to touch."
end
att.Icon = Material("entities/att/acwatt_ud_glock_material.png", "smooth mips")
att.Desc_Neutrals = {"uc.cosmetic", "uc.custcolor"}
att.Slot = "ud_glock_skin"

View File

@ -0,0 +1,10 @@
att.PrintName = "Glock 17 Olive Drab Finish"
if !GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "GEN3 Olive Drab Finish"
end
att.AbbrevName = "Olive Drab"
att.Icon = Material("entities/att/acwatt_ud_glock_material.png", "smooth mips")
att.Description = "Olive drab finish for for your polymer handgun."
att.Desc_Neutrals = {"uc.cosmetic"}
att.Slot = "ud_glock_skin"

View File

@ -0,0 +1,9 @@
att.PrintName = "Glock 17 FDE Polymer Finish"
if !GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "GEN3 FDE Polymer Finish"
end
att.AbbrevName = "FDE Polymer"
att.Icon = Material("entities/att/acwatt_ud_glock_material.png", "smooth mips")
att.Description = "Flat dark earth finish for your polymer handgun."
att.Desc_Neutrals = {"uc.cosmetic"}
att.Slot = "ud_glock_skin"

View File

@ -0,0 +1,56 @@
att.PrintName = "GEN3 Auto Slide"
att.AbbrevName = "Auto Slide"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "Glock 18C Auto Slide"
end
att.Icon = Material("entities/att/acwatt_ud_glock_slide_auto.png", "smooth mips")
att.Description = "An automatic slide capable of a very high rate of fire. Compensator cuts at the top improve recoil control, although that does not change the fact that this is a hell of a bullet nozzle."
att.Desc_Pros = {
"uc.auto",
}
att.Desc_Cons = {
"uc.jam"
}
att.Desc_Neutrals = {
}
att.Slot = "ud_glock_slide"
att.AutoStats = true
att.Override_Trivia_Class = "Machine Pistol"
--att.Mult_SightTime = 1
--att.Mult_Recoil = 1
--att.Mult_SpeedMult = 1
att.Mult_MoveDispersion = 1.5
att.Mult_HipDispersion = 1.25
att.Mult_Recoil = 0.95
att.Mult_RPM = 2.38
att.Mult_ShootSpeedMult = 0.85
att.Override_Malfunction = true
att.Override_Firemodes = {
{
Mode = 2,
},
{
Mode = 1,
},
{
PrintName = "fcg.safe2",
Mode = 0,
}
}
-- att.Hook_TranslateAnimation = function(wep, anim)
-- if (anim == "fire" || anim == "fire_empty") then
-- return anim .. "_18"
-- end
-- end
att.ActivateElements = {"ud_glock_slide_auto"}
att.GivesFlags = {"ud_glock_auto"}
att.ExcludeFlags = {"ud_glock_not_9mil"}

View File

@ -0,0 +1,31 @@
att.PrintName = "GEN3 Carbine Slide"
att.AbbrevName = "Carbine Slide"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "Glock 17 Euro Carbine Slide"
end
att.Icon = Material("entities/att/acwatt_ud_glock_slide_carbine.png", "smooth mips")
att.Description = "Extraordinarily long extended barrel. Designed for use in countries where handguns are banned, in order to fulfil minimum length requirements."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_glock_slide"
att.AutoStats = true
att.Mult_SightTime = 1.75
att.Mult_Recoil = 0.5
att.Mult_AccuracyMOA = 0.25
att.Mult_Sway = 2
att.Mult_Range = 3
att.Mult_DrawTime = 1.5
att.Mult_HolsterTime = 1.5
att.Add_BarrelLength = 32
att.ActivateElements = {"ud_glock_slide_carbine"}

View File

@ -0,0 +1,30 @@
att.PrintName = "GEN3 Competition Slide"
att.AbbrevName = "Competition Slide"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "Glock 17 Competition Slide"
end
att.Icon = Material("entities/att/acwatt_ud_glock_slide_comp.png", "smooth mips")
att.Description = "Custom slide with side vents and tall iron sights. Improves sighting time and straightens recoil."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_glock_slide"
att.AutoStats = true
att.Mult_SightTime = 0.8
att.Mult_RecoilSide = 0.75
att.Mult_Recoil = 1.1
att.Override_IronSightStruct = {
Pos = Vector(-1.74, 0, 2.3),
Ang = Angle(-.05, 0, 0),
Magnification = 1
}
att.ActivateElements = {"ud_glock_slide_comp"}

View File

@ -0,0 +1,77 @@
att.PrintName = "GEN3 Op. CS Slide"
att.AbbrevName = "Op. CS Slide"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "G18C Op. CS Slide"
end
att.Icon = Material("entities/att/acwatt_ud_glock_slide_cs.png", "smooth mips")
att.Description = "Custom-made 3 round burst slide, used by various counter-terrorism units and 'agents' around the world. The standard-length magazines are also tweaked for increased capacity. These modifications make the weapon somewhat prone to jamming."
att.Desc_Pros = {
"uc.3burst",
"ud.glock.cs",
}
att.Desc_Cons = {
"uc.jam"
}
att.Desc_Neutrals = {
}
att.Slot = "ud_glock_slide"
att.AutoStats = true
att.LHIK = true
att.Model = "models/weapons/arccw/atts/classic_lhik.mdl"
att.Mult_HipDispersion = 1.15
att.Mult_ShootSpeedMult = 0.9
att.Override_Malfunction = true
att.Override_Firemodes = {
{
Mode = -3,
Mult_RPM = 3,
PostBurstDelay = 0.25,
RunawayBurst = true,
Override_ShotRecoilTable = {
[1] = 0.8,
[2] = 0.5,
[3] = 0.3,
},
},
{
Mode = 1,
},
{
PrintName = "fcg.safe2",
Mode = 0,
}
}
-- att.Hook_TranslateAnimation = function(wep, anim)
-- if (anim == "fire" || anim == "fire_empty") then
-- return anim .. "_18"
-- end
-- end
--[[]
function att.Hook_GetCapacity(wep,cap)
if not wep.Attachments[6].Installed then
return cap + 3
end
end
]]
att.A_Hook_Add_ClipSize = function(wep, data)
if not wep.Attachments[8].Installed then
data.add = (data.add or 0) + 3
end
end
att.Hook_GetDefaultAttName = function(wep, slot)
if slot == 8 then
return "20-Round Mag"
end
end
att.ActivateElements = {"ud_glock_slide_cs"}

View File

@ -0,0 +1,34 @@
att.PrintName = "GEN3L Long Slide"
att.AbbrevName = "Long Slide"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "Glock 17L Long Slide"
end
att.Icon = Material("entities/att/acwatt_ud_glock_slide_lb.png", "smooth mips")
att.Description = "A somewhat uncommon long polymer slide.\nThe longer barrel improves precision but is awkward to handle."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_glock_slide"
att.AutoStats = true
att.Mult_DrawTime = 1.15
att.Mult_HolsterTime = 1.15
att.Add_BarrelLength = 4
att.Mult_Sway = 1.25
att.Mult_HipDispersion = 1.15
att.Mult_SightTime = 1.1
att.Mult_PhysBulletMuzzleVelocity = 1.1
att.Mult_AccuracyMOA = 0.85
att.Mult_Recoil = 0.85
att.Mult_Range = 1.25
att.ActivateElements = {"ud_glock_slide_lb"}

View File

@ -0,0 +1,34 @@
att.PrintName = "GEN3 Homeboy Slide"
att.AbbrevName = "Homeboy Slide"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "G17 NyteSite Slide"
end
att.Icon = Material("entities/att/acwatt_ud_glock_slide_nytesyte.png", "smooth mips")
att.Description = "Be the first in the hood to have the HoMeBoY brand Night Sights installed on your New-Model Glock!"
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
"ud.glock.nytesyte.1",
"ud.glock.nytesyte.2",
}
att.Slot = "ud_glock_slide"
att.AutoStats = true
att.ActivateElements = {"ud_glock_slide_nytesyte"}
att.O_Hook_Override_RecoilDirection = function(wep, data)
if wep:GetState() == ArcCW.STATE_SIGHTS then
return {current = Angle(0, -1, 0)}
end
end
att.O_Hook_Override_RecoilDirectionSide = function(wep, data)
if wep:GetState() == ArcCW.STATE_SIGHTS then
return {current = Angle(1, 0, 0)}
end
end

View File

@ -0,0 +1,86 @@
att.PrintName = "GEN3 Silent Mistress Slide"
att.AbbrevName = "SD Slide"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "G17SD Hush Puppy Slide"
end
att.Icon = Material("entities/att/acwatt_ud_glock_slide_sd.png", "smooth mips")
att.Description = "A slide with an integrated silencer installed. A slide lock system can prevent the weapon from cycling when fired, reducing its audible report even further."
att.Desc_Pros = {
"uc.invistracer"
}
att.Desc_Cons = {
--"uc.manual",
"uc.nomuzzle"
}
att.Desc_Neutrals = {
"ud.hushpuppy",
"uc.supptail"
}
att.Slot = "ud_glock_slide"
att.AutoStats = true
att.Mult_SightTime = 1.15
att.Mult_Recoil = 0.85
att.Mult_AccuracyMOA = 0.75
att.Mult_Sway = 1.5
att.Mult_Range = 1.25
att.Mult_ShootVol = 0.65
att.Mult_ShootPitch = 1.25
att.Mult_PhysBulletMuzzleVelocity = 0.85
att.Mult_RPM = 0.55
--att.Override_ManualAction = true
att.Silencer = true
att.Override_MuzzleEffect = "muzzleflash_suppressed"
att.Add_BarrelLength = 8
att.ActivateElements = {"ud_glock_slide_sd"}
att.GivesFlags = {"sd"}
att.Override_Firemodes_Priority = 10
att.Override_Firemodes = {
{
Mode = 1,
},
{
Mode = 1,
PrintName = "fcg.slidelock",
Override_ManualAction = true,
Mult_ShootVol = 0.8,
Mult_AccuracyMOA = 0.75,
Mult_HipDispersion = 0.75,
},
{
PrintName = "fcg.safe2",
Mode = 0,
}
}
att.Override_TracerNum = 0
att.Override_PhysTracerProfile = 7
att.Hook_TranslateAnimation = function(wep, anim)
if not wep:GetBuff_Override("Override_ManualAction") then return end
if (anim == "fire" || anim == "fire_empty" || anim == "fire_iron" || anim == "fire_iron_empty") then
return "fire_cycle"
elseif (anim == "idle" || anim == "idle_empty") then
if wep:GetNeedCycle() then
return "idle"
end
end
end
att.Hook_GetDistantShootSound = function(wep, distancesound)
if wep:GetBuff("PhysBulletMuzzleVelocity") < ArcCW.UC.SubsonicThreshold then
return false
end
end

View File

@ -0,0 +1,37 @@
att.PrintName = "GEN3K Subcompact Slide"
att.AbbrevName = "Subcompact Slide"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "Glock 26 Subcompact Slide"
end
att.Icon = Material("entities/att/acwatt_ud_glock_slide_subcompact.png", "smooth mips")
att.Description = "Shortest available slide, popular for concealed carry.\nReduced length means less holster to clear and improved handling, but more muzzle rise and terrible effective range."
att.Desc_Pros = {
}
att.Desc_Cons = {
"uc.noubs"
}
att.Desc_Neutrals = {
}
att.Slot = "ud_glock_slide"
att.AutoStats = true
att.Mult_DrawTime = 0.85
att.Mult_HolsterTime = 0.85
att.Add_BarrelLength = -4
att.Mult_Sway = 0.75
att.Mult_HipDispersion = 0.85
att.Mult_SightTime = 0.85
att.Mult_PhysBulletMuzzleVelocity = 0.9
att.Mult_AccuracyMOA = 1.5
att.Mult_Range = 0.75
att.Mult_Recoil = 1.25
att.ActivateElements = {"ud_glock_slide_subompact"}
att.GivesFlags = {"ud_glock_slide_subcompact"}
att.RequireFlags = {"ud_glock_frame_subcompact"}

View File

@ -0,0 +1,40 @@
att.PrintName = "12\" M4 Super 90 Sawn-Off Barrel"
att.AbbrevName = "12\" Sawn-Off Barrel"
att.Icon = Material("entities/att/acwatt_ud_m1014_barrel_short.png", "smooth mips")
att.Description = "Homemade short barrel with a very large spread and cannot use muzzle attachments. Marginally increases rate of fire."
att.Desc_Pros = {
}
att.Desc_Cons = {
"uc.nofs",
"uc.nomuzzle"
}
att.Desc_Neutrals = {
}
att.Slot = "ud_1014_barrel"
att.AutoStats = true
att.Mult_AccuracyMOA = 2
att.Mult_Recoil = 1.25
att.Mult_Range = 0.5
att.Mult_Sway = 0.5
att.Mult_SightTime = 0.6
att.Mult_SpeedMult = 1.05
att.Mult_ShootSpeedMult = 1.2
att.Mult_RPM = 240 / 220
att.Mult_HipDispersion = 0.75
att.Add_BarrelLength = -6
att.ActivateElements = {"ud_autoshotgun_barrel_sawnoff"}
att.GivesFlags = {"nomuzzle"}
att.A_Hook_Add_SightsDispersion = function(wep, data)
if data and !wep.Attachments[1].Installed then
data.add = data.add + 50
end
end
att.Ignore = true

View File

@ -0,0 +1,33 @@
att.PrintName = "14\" M4 Super 90 Entry Barrel"
att.AbbrevName = "14\" Entry Barrel"
if !GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "14\" FC1040 Entry Barrel"
end
att.Icon = Material("entities/att/acwatt_ud_m1014_barrel_short.png", "smooth mips")
att.Description = "Short barrel intended for breaching and close quarters use. Noticeably increases pellet spread, but is easier to manuver."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_1014_barrel"
att.AutoStats = true
att.Mult_AccuracyMOA = 1.5
att.Mult_Recoil = 1.1
att.Mult_Range = 0.8
att.Mult_Sway = 0.75
att.Mult_SightTime = 0.75
att.Mult_SpeedMult = 1.025
att.Mult_ShootSpeedMult = 1.1
att.Mult_HipDispersion = 0.75
att.Add_BarrelLength = -4
att.ActivateElements = {"ud_autoshotgun_barrel_short"}

View File

@ -0,0 +1,33 @@
att.PrintName = "19\" M4 Super 90 Competition Barrel"
att.AbbrevName = "19\" Competition Barrel"
if !GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "19\" FC1040 Competition Barrel"
end
att.Icon = Material("entities/att/acwatt_ud_m1014_barrel_sport.png", "smooth mips")
att.Description = "Hardened barrel with slightly increased length, designed for target shooting. Abiding by competition restrictions, it has a reduced rate of fire."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_1014_barrel"
att.AutoStats = true
att.Add_BarrelLength = 1
att.Mult_RecoilSide = 0.8
att.Mult_Recoil = 0.9
att.Mult_SightTime = 1.15
att.Mult_Sway = 1.2
att.Mult_AccuracyMOA = 0.9
att.Mult_RangeMin = 2
att.Mult_RPM = 180 / 220
att.Mult_HipDispersion = 1.15
att.ActivateElements = {"ud_autoshotgun_barrel_sport"}
--att.GivesFlags = {"nomuzzle"}

View File

@ -0,0 +1,19 @@
att.PrintName = "Sporting Handguard"
att.Icon = Material("", "smooth mips")
att.Description = "Aftermarket handguard with a rough grip surface. It's much lighter, but not as comfortable to grip."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_1014_handguard"
att.AutoStats = true
att.SortOrder = 999
att.Mult_SightTime = 0.85
att.Mult_ShootSpeedMult = 0.9
att.Mult_SightedSpeedMult = 0.9
att.ActivateElements = {"ud_m1014_handguard_sport"}

View File

@ -0,0 +1,34 @@
att.PrintName = "Buffer Tube"
att.Icon = Material("entities/att/acwatt_ud_m1014_stock_buffer.png", "smooth mips")
att.Description = "Stocks are overrated."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_1014_stock"
att.AutoStats = true
att.Free = true
att.SortOrder = -1
att.Mult_SpeedMult = 1.05
att.Mult_SightTime = 0.5
att.Mult_DrawTime = 0.75
att.Mult_HolsterTime = 0.75
att.Mult_Recoil = 1.35
att.Mult_RecoilSide = 2
att.Mult_SightedSpeedMult = 1.2
att.Mult_ShootSpeedMult = 1.15
att.Add_BarrelLength = -12
att.Mult_Sway = 3
att.ActivateElements = {"ud_autoshotgun_stock_buffer"}
att.Override_HoldtypeActive = "shotgun"
att.Override_HoldtypeSights = "ar2"

View File

@ -0,0 +1,25 @@
att.PrintName = "FC1040 Gripstock"
att.AbbrevName = "Gripstock"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "M4 Super 90 Gripstock"
end
att.Icon = Material("entities/att/acwatt_ud_m1014_stock_buffer.png", "smooth mips")
att.Description = "Solid stock with a pistol grip. Reduces recoil with minimal side effects."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_1014_stock"
att.AutoStats = true
att.Mult_Recoil = .85
att.Mult_SightedSpeedMult = .9
att.Mult_SightTime = 1.1
att.ActivateElements = {"ud_autoshotgun_stock_gripstock"}

View File

@ -0,0 +1,27 @@
att.PrintName = "Collapsed Stock"
att.Icon = Material("entities/att/acwatt_ud_m1014_stock_in.png", "smooth mips")
att.Description = "Pushing in the collapsable stock makes the weapon significantly shorter, allowing for easier use around corners and making it easier on the move at the cost of less stability."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_1014_stock"
att.AttachSound = "arccw_uc/common/stockslide.ogg"
att.AutoStats = true
att.Free = true
att.IgnorePickX = true
att.SortOrder = 999
att.Mult_Recoil = 1.1
att.Mult_RecoilSide = 1.25
att.Mult_SightedSpeedMult = 1.1
att.Mult_ShootSpeedMult = 1.1
att.Mult_Sway = 1.5
att.Add_BarrelLength = -8
att.ActivateElements = {"ud_autoshotgun_stock_in"}

View File

@ -0,0 +1,25 @@
att.PrintName = "Sporting Stock"
att.Icon = Material("entities/att/acwatt_ud_m1014_stock_sport.png", "smooth mips")
att.Description = "Solid, non-adjustable polymer stock. Provides a better brace at the cost of combat mobility."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_1014_stock"
att.AutoStats = true
att.Mult_Recoil = .8
att.Mult_Sway = .8
att.Mult_SightedSpeedMult = .85
att.Mult_DrawTime = 1.25
att.Mult_HolsterTime = 1.25
att.ActivateElements = {"ud_autoshotgun_stock_sport"}
att.Hook_TranslateAnimation = function(wep, anim)
return anim .. "_stock"
end

View File

@ -0,0 +1,26 @@
att.PrintName = "FC1040 7 Shell Tube"
att.AbbrevName = "7 Shell Tube"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "M4 Super 90 7 Shell Tube"
end
att.Icon = Material("entities/att/acwatt_ud_m1014_tube_ext.png", "smooth mips")
att.Description = "Military-grade extended shell tube that adds weight to the weapon."
att.Desc_Pros = {}
att.Desc_Cons = {}
att.Desc_Neutrals = {}
att.Slot = "ud_1014_tube"
att.Override_ClipSize = 7
att.AutoStats = true
att.Override_ClipSize = 7
att.Mult_Sway = 1.5
att.Mult_SightTime = 1.15
att.Mult_ReloadTime = 1.15
att.Mult_SightedSpeedMult = 0.75
att.ActivateElements = {"ud_autoshotgun_tube_long"}

View File

@ -0,0 +1,29 @@
att.PrintName = "M14 16\" Short Barrel"
att.AbbrevName = "16\" Short Barrel"
if !GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "Patriot 14 16\" Short Barrel"
end
att.Icon = Material("entities/att/acwatt_ud_m14_barrel_short.png", "smooth mips")
att.SortOrder = 18
att.Description = "Compact barrel for popping close-up varmints. More agile but less accurate."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_m14_barrel"
att.Mult_SightTime = 0.8
att.Mult_Recoil = 1.1
att.Mult_AccuracyMOA = 1.5
att.Mult_Range = 0.5
att.Mult_Sway = 0.75
att.Mult_SightedSpeedMult = 1.1
att.Add_BarrelLength = -4
att.AutoStats = true

View File

@ -0,0 +1,33 @@
att.PrintName = "10.5\" RAYCAR-2 Commando Barrel"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "10.5\" Colt Commando Barrel"
end
att.Icon = Material("entities/att/acwatt_ud_m16_barrel_10_5.png", "smooth mips")
att.AbbrevName = "10.5\" Commando Barrel"
att.Description = "Short barrel, technically classified as a submachine gun barrel. Offers high fire rates at the cost of range."
att.Slot = "ud_m16_blen"
att.AutoStats = true
att.Mult_SightTime = 0.85
att.Mult_SpeedMult = 1.025
att.Mult_SightedSpeedMult = 1.1
att.Mult_HipDispersion = 0.7
att.Mult_RPM = 1.15
att.Mult_Recoil = 1.5
att.Mult_AccuracyMOA = 2
att.Mult_Range = 0.5
att.Mult_Sway = 0.75
att.Add_BarrelLength = -10
att.Mult_PhysBulletMuzzleVelocity = 0.729167
--att.LHIK = true
--att.Model = "models/weapons/arccw/atts/tactical_lhik.mdl"
att.DroppedModel = "models/items/boxsrounds.mdl"
att.ActivateElements = {"barrel_11","mount_11"}
att.GivesFlags = {"blen_11","barrel_short", "patr1"}
att.ExcludeFlags = {"hg_no11"}

View File

@ -0,0 +1,31 @@
att.PrintName = "14.5\" RAYCAR-1 Carbine Barrel"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "14.5\" M4 Carbine Barrel"
end
att.Icon = Material("entities/att/acwatt_ud_m16_barrel_14_5.png", "smooth mips")
att.AbbrevName = "14.5\" Carbine Barrel"
att.Description = "Carbine length barrel. Provides a small increase in firerate while maintaining respectable accuracy and range."
att.Slot = "ud_m16_blen"
att.AutoStats = true
att.Mult_SightTime = 0.85
att.Mult_SightedSpeedMult = 1.1
att.Mult_HipDispersion = 0.85
att.Mult_Recoil = 1.25
att.Mult_AccuracyMOA = 1.5
att.Mult_Range = 0.75
att.Mult_RPM = 1.111 --0.945
att.Mult_Sway = 0.85
att.Add_BarrelLength = -6
att.Mult_PhysBulletMuzzleVelocity = 0.833333
--att.LHIK = true
--att.Model = "models/weapons/arccw/atts/tactical_lhik.mdl"
att.DroppedModel = "models/items/boxsrounds.mdl"
att.ActivateElements = {"barrel_14","mount_14"}
att.GivesFlags = {"blen_14","barrel_short"}

View File

@ -0,0 +1,84 @@
att.PrintName = "10\" Suppressed Barrel"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "10\" M16 SD Barrel"
end
att.Icon = Material("entities/att/acwatt_ud_m16_barrel_sd.png", "smooth mips")
att.Description = "Integrally suppressed short barrel made by hobbyists. Dampens sound effectively, but the suppressor adds to weapon weight.\nPerformance may degrade with sustained fire."
att.Desc_Pros = {
--"uc.auto"
}
att.Desc_Cons = {
"uc.overheat"
}
att.Desc_Neutrals = {
"uc.supptail",
"ud.m16.allowfs",
}
att.Slot = "ud_m16_blen"
att.AutoStats = true
att.Mult_SightTime = 1.05
att.Mult_Range = 0.65
att.Mult_Recoil = 1.15
att.Mult_AccuracyMOA = 1.5
att.Mult_RPM = 1.111
att.Mult_HipDispersion = 0.75
att.Add_BarrelLength = -10
att.Mult_PhysBulletMuzzleVelocity = 0.78
att.LHIK = true
att.Model = "models/weapons/arccw/atts/m4_lhik.mdl"
att.Mult_ShootVol = 0.65
att.Silencer = true
att.Override_MuzzleEffect = "muzzleflash_suppressed"
att.GivesFlags = {"sd", "ud_m16_rscompatible", "ud_m16_sd"}
att.SDBarrel = true
att.ActivateElements = {"hg_sd"}
att.Override_Jamming = true
att.Override_HeatLockout = false
att.Override_HeatFix = false
att.Override_HeatCapacity = 90
att.Override_HeatDelayTime = 2
att.Override_HeatDissipation = 7.5
att.Hook_ModifyRPM = function(wep, delay)
local heat = math.Clamp(wep:GetHeat() / wep:GetMaxHeat(), 0, 1)
if heat > 0.5 then
return delay * (1 + ((heat - 0.5) / 0.5) * 0.5)
end
end
att.M_Hook_Mult_ShootVol = function(wep, data)
local heat = math.Clamp(wep:GetHeat() / wep:GetMaxHeat(), 0, 1)
data.mult = data.mult * (1 + heat * 0.25)
end
att.M_Hook_Mult_ShootPitch = function(wep, data)
local heat = math.Clamp(wep:GetHeat() / wep:GetMaxHeat(), 0, 1)
if heat > 0.5 then
data.mult = data.mult * (1 - (heat - 0.5) / 0.5 * 0.15)
end
end
att.M_Hook_Mult_AccuracyMOA = function(wep, data)
local heat = math.Clamp(wep:GetHeat() / wep:GetMaxHeat(), 0, 1)
if heat > 0.5 then
data.mult = data.mult * (1 + ((heat - 0.5) / 0.5))
end
end
att.Hook_GetDistantShootSound = function(wep, distancesound)
if wep:GetBuff("PhysBulletMuzzleVelocity") < ArcCW.UC.SubsonicThreshold then
return false
end
end

View File

@ -0,0 +1,18 @@
att.PrintName = "Modern Rail Mount"
att.Icon = Material("entities/att/acwatt_ud_m16_charm_ch.png", "smooth mips")
att.Description = "Keep it retro.\nReject flat top. Return to carry handle."
att.Desc_Pros = {}
att.Desc_Cons = {}
att.Desc_Neutrals = {
"ud.m16_ch.1",
"ud.m16_ch.2",
"ud.m16_nors"
}
att.Slot = "ud_m16_charm"
att.ActivateElements = {"ud_m16_upper_charm"}
att.GivesFlags = {"ud_m16_retro"}
att.ExcludeFlags = {"ud_m16_not_retro", "ud_m16_a1"}
att.TopMount = 1
att.SortOrder = 1001

View File

@ -0,0 +1,18 @@
att.PrintName = "Classic Rail Mount"
att.Icon = Material("entities/att/acwatt_ud_m16_charm_ch2.png", "smooth mips")
att.Description = "Keep it extra retro with this old-school rail mount."
att.Desc_Pros = {}
att.Desc_Cons = {}
att.Desc_Neutrals = {
"ud.m16_ch.1",
"ud.m16_ch.2",
"ud.m16_nors"
}
att.Slot = "ud_m16_charm"
att.ActivateElements = {"ud_m16_upper_charm2"}
att.GivesFlags = {"ud_m16_retro"}
att.ExcludeFlags = {"ud_m16_not_retro", "ud_m16_a1"}
att.TopMount = 3
att.SortOrder = 1000

View File

@ -0,0 +1,15 @@
att.PrintName = "Preserved Front Sight"
att.Icon = Material("entities/att/acwatt_ud_m16_charm_fs.png", "smooth mips")
att.Description = "Those irons aren't out of style yet."
att.Desc_Pros = {}
att.Desc_Cons = {}
att.Desc_Neutrals = {
"ud.m16_fs.1",
"ud.m16_fs.2",
}
att.Slot = "ud_m16_charm"
att.Free = true
att.IgnorePickX = true
att.SortOrder = 999
att.ExcludeFlags = {"ud_m16_a1", "sight_magpul", "ud_m16_sd"}

View File

@ -0,0 +1,30 @@
att.PrintName = "Tactical Laser Position"
att.Icon = Material("entities/att/arccw_ud_pointshoot.png", "smooth mips")
att.Description = "Give your AN/PEQ a reason to be thin."
att.Desc_Pros = {}
att.Desc_Cons = {}
att.Desc_Neutrals = {
"ud.m16_tl.1",
"ud.m16_tl.2",
"ud.m16_nors"
}
att.Slot = "ud_m16_charm"
att.ActivateElements = {"bravo_dicks_going_fart"}
att.AdditionalSights = {
{
Pos = Vector(0, 20, -3),
Ang = Angle(0, 0, -25),
GlobalPos = false,
GlobalAng = true,
Magnification = 1
}
}
att.SortOrder = 998
att.TacLaserPos = true
att.RequireFlags = {"tac"}
att.FrontSight = 1
--att.Ignore = true

View File

@ -0,0 +1,16 @@
att.PrintName = "3D Low Profile Front Sight"
att.AbbrevName = "3D Front Sight"
att.Icon = Material("entities/att/acwatt_ud_m16_fs_3d.png", "mips smooth")
att.Description = [[A 3d-printed front sight for picatinny rails. You probably want the matching rear sight as well.]]
att.Desc_Neutrals = {"uc.cosmetic"}
att.SortOrder = 1
att.IgnorePickX = true
att.Model = "models/weapons/arccw/atts/3d_fs.mdl"
att.ModelScale = Vector(0.7, 0.7, 0.7)
att.Slot = {"ud_m16_fs"}
att.RequireFlags = {"ud_m16_rscompatible"}
att.GivesFlags = {"ud_m16_rs"}
att.Ignore = false
att.FrontSight = 1

View File

@ -0,0 +1,15 @@
att.PrintName = "KAC Flip-Up Front Sight"
att.AbbrevName = "KAC Front Sight"
att.Icon = Material("entities/att/acwatt_ud_m16_fs_kac.png", "mips smooth")
att.Description = [[Removable front sight made by Knight's Armament Company. Designed to be mounted on forend rails.]]
att.Desc_Neutrals = {"uc.cosmetic"}
att.SortOrder = 1
att.IgnorePickX = true
att.Model = "models/weapons/arccw/atts/kac_fs.mdl"
att.ModelScale = Vector(0.7, 0.7, 0.7)
att.Slot = {"ud_m16_fs"}
att.RequireFlags = {"ud_m16_rscompatible"}
att.GivesFlags = {"ud_m16_rs"}
att.FrontSight = 1

View File

@ -0,0 +1,15 @@
att.PrintName = "Magpul Flip-Up Front Sight"
att.AbbrevName = "Magpul Front Sight"
att.Icon = Material("entities/att/acwatt_ud_m16_fs_magpul.png", "mips smooth")
att.Description = [[Removable front sight made by Magpul. Designed to be mounted on forend rails.]]
att.Desc_Neutrals = {"uc.cosmetic"}
att.SortOrder = 1
att.IgnorePickX = true
att.Model = "models/weapons/arccw/atts/magpul_fs.mdl"
att.ModelScale = Vector(0.73, 0.73, 0.73)
att.Slot = {"ud_m16_fs"}
att.RequireFlags = {"ud_m16_rscompatible"}
att.GivesFlags = {"ud_m16_rs"}
att.FrontSight = 1

View File

@ -0,0 +1,16 @@
att.PrintName = "Scalarworks Front Sight"
att.AbbrevName = "Scalarworks Front Sight"
att.Icon = Material("entities/att/acwatt_ud_m16_fs_sclr.png", "mips smooth")
att.Description = [[Removable front sight made by Knight's Armament Company. Designed to be mounted on forend rails.]]
att.Desc_Neutrals = {"uc.cosmetic"}
att.SortOrder = 1
att.IgnorePickX = true
att.Model = "models/weapons/arccw/atts/scalerworks_fs.mdl"
att.ModelOffset = Vector(0, 0.01, -0.1)
att.ModelScale = Vector(0.95, 0.95, 0.95)
att.Slot = {"ud_m16_fs"}
att.RequireFlags = {"ud_m16_rscompatible"}
att.GivesFlags = {"ud_m16_rs"}
att.FrontSight = 1

View File

@ -0,0 +1,15 @@
att.PrintName = "SIG Flip-Up Front Sight"
att.AbbrevName = "SIG Front Sight"
att.Icon = Material("entities/att/acwatt_ud_m16_fs_sig.png", "mips smooth")
att.Description = [[Removable front sight made by SIG Sauer. Designed to be mounted on forend rails.]]
att.Desc_Neutrals = {"uc.cosmetic"}
att.SortOrder = 1
att.IgnorePickX = true
att.Model = "models/weapons/arccw/atts/sig_fs.mdl"
att.ModelScale = Vector(0.7, 0.7, 0.7)
att.Slot = {"ud_m16_fs"}
att.RequireFlags = {"ud_m16_rscompatible"}
att.GivesFlags = {"ud_m16_rs"}
att.FrontSight = 1

View File

@ -0,0 +1,16 @@
att.PrintName = "UTG Low Profile Front Sight"
att.AbbrevName = "UTG Front Sight"
att.Icon = Material("entities/att/acwatt_ud_m16_fs_colt.png", "mips smooth")
att.Description = [[A2 style rail-mounted front sight for picatinny rails.]]
att.Desc_Neutrals = {"uc.cosmetic"}
att.SortOrder = 1
att.IgnorePickX = true
att.Model = "models/weapons/arccw/atts/colt_fs.mdl"
att.ModelScale = Vector(0.7, 0.7, 0.7)
att.Slot = {"ud_m16_fs"}
att.RequireFlags = {"ud_m16_rscompatible"}
att.GivesFlags = {"ud_m16_rs"}
att.Ignore = false
att.FrontSight = 1

View File

@ -0,0 +1,19 @@
att.PrintName = "Ergonomic Grip"
att.Icon = Material("entities/att/acwatt_ud_m16_grip_ergo.png", "smooth mips")
att.Description = "Polymer grip with a comfortable shape, enabling faster handling."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_m16_grip"
att.AutoStats = true
att.Mult_SightTime = 0.9
att.Mult_SightedSpeedMult = 0.95
--att.Mult_Recoil = 1
--att.Mult_SpeedMult = 1
att.ActivateElements = {"grip_ergo"}

View File

@ -0,0 +1,20 @@
att.PrintName = "Skeletonized Grip"
att.Icon = Material("entities/att/acwatt_ud_m16_grip_skel.png", "smooth mips")
att.Description = "Lightweight grip, marginally reducing weapon weight."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_m16_grip"
att.AutoStats = true
att.Mult_RecoilSide = 1.15
att.Mult_SightedSpeedMult = 1.05
--att.Mult_SightTime = 1
--att.Mult_Recoil = 1
--att.Mult_SpeedMult = 1
att.ActivateElements = {"grip_skel"}

View File

@ -0,0 +1,19 @@
att.PrintName = "Wooden Grip"
att.Icon = Material("entities/att/acwatt_ud_m16_grip_default.png", "smooth mips")
att.Description = "For a classy look."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_m16_grip"
att.AutoStats = true
att.Mult_RecoilSide = 0.85
att.Mult_SightedSpeedMult = 0.95
--att.Mult_Recoil = 1
--att.Mult_SpeedMult = 1
att.ActivateElements = {"grip_wood"}

View File

@ -0,0 +1,23 @@
att.PrintName = "Prototype Triangular Handguard"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "M16A1 Triangular Handguard"
end
att.AbbrevName = "Triangular Handguard"
att.Icon = Material("entities/att/acwatt_ud_m16_hg_triangle.png", "smooth mips")
att.Description = "Classic handguard issued with the rifle's original models.\nIn comparison to the modern \"ribbed\" handguard, it is more comfortable to hold but prone to slipping."
att.Slot = "ud_m16_hg"
att.AutoStats = true
att.Mult_RecoilSide = 1.35
att.Mult_SightTime = 0.9
att.Mult_HipDispersion = 0.9
att.LHIK = true
att.Model = "models/weapons/arccw/atts/classic_lhik.mdl"
att.DroppedModel = "models/items/boxsrounds.mdl"
att.ModelOffset = (Vector(0.41, 0, -1.63) - Vector(11.5, 2.8, -4.2))
att.ActivateElements = {"hg_m16a1"}
att.GivesFlags = {"hg_no11"}
att.ExcludeFlags = {"blen_11"}

View File

@ -0,0 +1,24 @@
att.PrintName = "RUCAR 225 Short Wooden Handguard"
att.Icon = Material("entities/att/acwatt_ud_m16_hg_adar.png", "smooth mips")
att.Description = "Wooden handguard used on Russian sporting variants. The heavier material allows for lower recoil than handguards of similar length."
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "ADAR 2-15 Short Wooden Handguard"
end
att.AbbrevName = "Short Wooden Handguard"
att.Slot = "ud_m16_hg"
att.AutoStats = true
att.Mult_Sway = 0.9
att.Mult_RecoilSide = 0.85
att.Mult_Recoil = 0.95
att.Mult_SightedSpeedMult = 0.95
att.Mult_ShootSpeedMult = 0.95
att.LHIK = true
att.Model = "models/weapons/arccw/atts/adar_lhik.mdl"
att.DroppedModel = "models/items/boxsrounds.mdl"
att.ModelOffset = (Vector(0.41, 0, -1.63) - Vector(11.5, 2.8, -4.2))

View File

@ -0,0 +1,19 @@
att.PrintName = "FPW Handguard"
att.Icon = Material("entities/att/acwatt_ud_m16_hg_fpw.png", "smooth mips")
att.Description = "Specialist handguard that interlocks into an IFV firing port. It withstands sustained fire better, but the lack of grip surface harms stability."
att.Desc_Neutrals = {
}
att.Slot = "ud_m16_hg"
att.AutoStats = true
att.Mult_HeatCapacity = 160 / 120
att.Mult_Recoil = 1.1
att.LHIK = true
att.Model = "models/weapons/arccw/atts/m4_lhik.mdl"
att.DroppedModel = "models/items/boxsrounds.mdl"
att.ModelOffset = (Vector(0.41, 0, -1.63) - Vector(11.5, 2.8, -4.2))
att.GivesFlags = {"patr2"}

View File

@ -0,0 +1,25 @@
att.AbbrevName = "Heatshield Handguard"
att.PrintName = "Heatshield Handguard"
att.Description = "Heatshield handguard used on grenadier variants of the M16.\nIts light weight offsets the downsides of an attached grenade launcher somewhat."
if !GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "M16A1 Heatshield Handguard"
att.Description = "Heatshield handguard used on grenadier variants of the RAYCAR.\nIts light weight offsets the downsides of an attached grenade launcher somewhat."
end
att.Slot = "ud_m16_hg"
att.AutoStats = true
att.Mult_RecoilSide = 1.35
att.Mult_SightTime = 0.9
att.Mult_HeatDissipation = 2
att.Mult_SightedSpeedMult = 1.1
-- att.Mult_HipDispersion = 0.9
att.LHIK = false
att.Model = "models/weapons/arccw/atts/classic_lhik.mdl"
att.DroppedModel = "models/items/boxsrounds.mdl"
att.ActivateElements = {"hg_m16a1"}
att.GivesFlags = {"hg_no11"}
att.ExcludeFlags = {"blen_11"}

View File

@ -0,0 +1,41 @@
att.PrintName = "AMSAW LMG Handguard"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "Colt LMG Handguard"
end
att.AbbrevName = "LMG Handguard"
att.Icon = Material("entities/att/acwatt_ud_m16_hg_lmg.png", "smooth mips")
att.Description = "Heavy duty handguard with built-in bipod and foregrip, sporting improved durability and recoil control for sustained automatic fire."
att.Desc_Pros = {}
att.Desc_Cons = {
"uc.noubs"
}
att.Desc_Neutrals = {}
att.Slot = "ud_m16_hg"
att.AutoStats = true
att.Mult_SpeedMult = 0.95
att.Mult_SightedSpeedMult = 0.8
att.Mult_Sway = 1.5
att.Mult_SightTime = 1.25
att.Mult_RPM = 0.915
att.Mult_Recoil = 0.7
att.Mult_RecoilSide = 0.5
att.Mult_MalfunctionMean = 2
att.Bipod = true
att.Mult_BipodDispersion = 0.2
att.Mult_BipodRecoil = 0.15
att.ActivateElements = {"hg_lmg"}
att.GivesFlags = {"m16_lmg","hg_no11"}
att.ExcludeFlags = {"blen_11"}
att.LHIK = true
att.Model = "models/weapons/arccw/atts/lmg_lhik.mdl"
att.ModelOffset = (Vector(0.41, 0, -1.63) - Vector(11.5, 2.8, -4.2)) + Vector(-0.1, 0, 0)

View File

@ -0,0 +1,31 @@
att.PrintName = "RU556 Handguard"
att.Icon = Material("entities/att/acwatt_ud_m16_hg_ru556.png", "smooth mips")
att.Description = "Short handguard from the RU556 line of RAYCAR accessories, featuring a unique barrel shroud. The thin aluminum frame has extremely low weight."
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "M-LOK Handguard"
att.Description = "Short handguard from the M-LOK line of AR-15 accessories, featuring a unique barrel shroud. The thin aluminum frame has extremely low weight."
end
att.Desc_Neutrals = {
"ud.m16.allowfs",
}
att.Slot = "ud_m16_hg"
att.AutoStats = true
att.Mult_Sway = .8
att.Mult_SpeedMult = 1.05
att.Mult_SightedSpeedMult = 1.2
att.Mult_HipDispersion = 1.1
att.Mult_Recoil = 1.175
att.LHIK = true
att.Model = "models/weapons/arccw/atts/ru556_lhik.mdl"
att.DroppedModel = "models/items/boxsrounds.mdl"
att.ModelOffset = (Vector(0.41, 0, -2.8) - Vector(11.5, 2.8, -4.2))
att.OffsetAng = Angle( 0, 5, 0 )
att.GivesFlags = {"ud_m16_rscompatible"}
att.ActivateElements = {"hg_ru556"}

View File

@ -0,0 +1,24 @@
att.PrintName = "RAYCAR TACTICS Forend Assembly" -- "Armorers United" ?? WHO
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "KAC RAS Forend Assembly"
end
att.AbbrevName = "Tactical Handguard"
att.Icon = Material("entities/att/acwatt_ud_m16_hg_ris.png", "smooth mips")
att.Description = "Barrel shroud equipped with a quad-rail RIS interface, allowing the rifle to accept the attachment of tactical devices or foregrips without any additional modification.\n\nFunctionally identical to the stock handguard."
att.Desc_Neutrals = {
"ud.m16.allowfs",
}
att.Slot = "ud_m16_hg"
att.SortOrder = 99
att.Free = true
att.IgnorePickX = true
att.LHIK = true
att.Model = "models/weapons/arccw/atts/tactical_lhik.mdl"
att.DroppedModel = "models/items/boxsrounds.mdl"
att.ModelOffset = (Vector(0.41, 0, -1.63) - Vector(11.5, 2.8, -4.2))
att.ActivateElements = {"mount_tactical"}
att.GivesFlags = {"ud_m16_rscompatible"}

View File

@ -0,0 +1,23 @@
att.PrintName = "\"Service Rifle\" Wooden Handguard"
att.AbbrevName = "Wooden Handguard"
att.Icon = Material("entities/att/acwatt_ud_m16_hg_triangle.png", "smooth mips")
att.Description = "Custom wooden handguard created by independent gunsmiths from the state of California. Its heft gives it some extra stability."
att.Slot = "ud_m16_hg"
att.AutoStats = true
att.Mult_Sway = 0.8
att.Mult_RecoilSide = 0.85
att.Mult_Recoil = 0.9
att.Mult_SightedSpeedMult = 0.8
att.Mult_ShootSpeedMult = 0.9
att.LHIK = true
att.Model = "models/weapons/arccw/atts/classic_lhik.mdl"
att.DroppedModel = "models/items/boxsrounds.mdl"
att.ModelOffset = (Vector(0.41, 0, -1.63) - Vector(11.5, 2.8, -4.2))
att.ActivateElements = {"hg_m16a1_wood"}
att.GivesFlags = {"hg_no11"}
att.ExcludeFlags = {"blen_11"}

View File

@ -0,0 +1,48 @@
att.PrintName = "STANAG 100-Round C-Mag"
att.AbbrevName = "100-Round C-Mag"
att.SortOrder = 100
att.Icon = Material("entities/att/acwatt_ud_m16_mag_100.png", "smooth mips")
att.Description = "Twin-drum magazine compliant with STANAG 4179 dimensions, ideal for suppressive fire. Bulky construction and high ammo capacity substantially increases weight, making the weapon difficult to handle. Prone to feeding failures."
att.Desc_Pros = {}
att.Desc_Cons = {
"uc.jam"
}
att.Desc_Neutrals = {}
att.Slot = "ud_m16_mag"
att.AutoStats = true
att.HideIfBlocked = true
att.Override_ClipSize = 100
att.Mult_SightTime = 1.5
att.Mult_ReloadTime = 1.5
att.Mult_Sway = 3
att.Mult_SpeedMult = 0.9
att.Mult_ShootSpeedMult = 0.8
att.Mult_DrawTime = 1.25
att.Mult_HolsterTime = 1.25
att.Mult_HipDispersion = 1.5
att.ActivateElements = {"ud_m16_mag_100"}
--[[]
att.Override_Jamming = true
att.Override_HeatCapacity = 200
att.Override_HeatDissipation = 4
att.Override_HeatDelayTime = 3
]]
att.Override_Malfunction = true
att.Mult_MalfunctionMean = 0.75
att.Mult_MalfunctionVariance = 1.5
att.Hook_SelectReloadAnimation = function(wep, anim)
return anim .. "_100"
end
att.GivesFlags = {"patr5"}
att.ExcludeFlags = {"m16_usas", "m16_9mm", "m16_50beo"}

View File

@ -0,0 +1,34 @@
att.PrintName = "STANAG 20-Round Compact Mag"
att.AbbrevName = "20-Round Compact Mag"
att.SortOrder = 20
att.Icon = Material("entities/att/acwatt_ud_m16_mag_20.png", "smooth mips")
att.Description = "Original, low-capacity magazine for the M16. The lighter load reduces the weapon's weight and brings back memories of the rice fields."
att.Desc_Pros = {}
att.Desc_Cons = {}
att.Desc_Neutrals = {}
att.Slot = "ud_m16_mag"
att.AutoStats = true
att.HideIfBlocked = true
att.Override_ClipSize = 20
att.Mult_SightTime = 0.85
att.Mult_ReloadTime = 0.9
att.Mult_Sway = 0.75
att.Mult_SpeedMult = 1.025
att.Mult_SightedSpeedMult = 1.05
att.Mult_ShootSpeedMult = 1.05
att.Mult_MalfunctionMean = 1.5
att.Mult_HipDispersion = 0.75
att.ActivateElements = {"ud_m16_mag_20"}
att.Hook_SelectReloadAnimation = function(wep, anim)
return anim .. "_20"
end
att.ExcludeFlags = {"m16_usas", "m16_9mm", "m16_50beo"}

View File

@ -0,0 +1,31 @@
att.PrintName = "STANAG 40-Round Extended Mag"
att.AbbrevName = "40-Round Extended Mag"
att.SortOrder = 40
att.Icon = Material("entities/att/acwatt_ud_m16_mag_40.png", "smooth mips")
att.Description = "Extended magazine for the M16. Enables slightly longer mag dumps, which may save your life, but the longer mag is more awkward to load."
att.Desc_Pros = {}
att.Desc_Cons = {}
att.Desc_Neutrals = {}
att.Slot = "ud_m16_mag"
att.AutoStats = true
att.HideIfBlocked = true
att.Override_ClipSize = 40
att.Mult_SightTime = 1.1
att.Mult_ReloadTime = 1.15
att.Mult_Sway = 1.5
att.Mult_SpeedMult = 0.975
att.Mult_ShootSpeedMult = 0.95
att.Mult_HipDispersion = 1.15
att.ActivateElements = {"ud_m16_mag_40"}
att.Hook_SelectReloadAnimation = function(wep, anim)
return anim .. "_40"
end
att.ExcludeFlags = {"m16_usas", "m16_9mm", "m16_50beo"}

View File

@ -0,0 +1,29 @@
att.PrintName = ".50 Beowulf 12-Round Standard Mag"
att.AbbrevName = "12-Round Standard Mag"
att.Icon = Material("entities/att/acwatt_ud_m16_mag_30.png", "smooth mips")
att.Description = "Standard 5.56mm magazines converted to load .50 Beowulf rounds in a single stack. Requires a bit of elbow grease to squeeze them in."
att.Desc_Pros = {}
att.Desc_Cons = {}
att.Desc_Neutrals = {}
att.Slot = "ud_m16_mag"
att.AutoStats = true
att.HideIfBlocked = true
att.Free = true -- since this is just the standard mag
att.SortOrder = 2
att.Override_ClipSize = 12
att.Mult_SightTime = 1.1
att.Mult_ReloadTime = 1.15
att.Mult_Sway = 1.5
att.Mult_SpeedMult = 0.975
att.Mult_HipDispersion = 1.15
att.Hook_SelectReloadAnimation = function(wep, anim)
return anim .. "_40"
end
att.RequireFlags = {"m16_50beo"}

View File

@ -0,0 +1,32 @@
att.PrintName = ".50 Beowulf 15-Round Extended Mag"
att.AbbrevName = "15-Round Extended Mag"
att.Icon = Material("entities/att/acwatt_ud_m16_mag_40.png", "smooth mips")
att.Description = "Extended 5.56mm magazines converted to load .50 Beowulf rounds in a single stack. Really as far as you can go with these thick cartridges."
att.Desc_Pros = {}
att.Desc_Cons = {}
att.Desc_Neutrals = {}
att.Slot = "ud_m16_mag"
att.AutoStats = true
att.HideIfBlocked = true
att.InvAtt = "ud_m16_mag_40"
att.SortOrder = 1
att.Override_ClipSize = 15
att.Mult_SightTime = 1.2
att.Mult_ReloadTime = 1.3
att.Mult_Sway = 2.25
att.Mult_SpeedMult = 0.95
att.Mult_HipDispersion = 1.25
att.ActivateElements = {"ud_m16_mag_40"}
att.Hook_SelectReloadAnimation = function(wep, anim)
return anim .. "_40"
end
att.RequireFlags = {"m16_50beo"}

View File

@ -0,0 +1,45 @@
att.PrintName = "STANAG 60-Round Casket Mag"
att.AbbrevName = "60-Round Casket Mag"
att.SortOrder = 60
att.Icon = Material("entities/att/acwatt_ud_m16_mag_60.png", "smooth mips")
att.Description = "Quad-stacked magazine for the M16. Quite bulky, but provides double the ammo capacity of a typical STANAG magazine. Has a tendency to jam."
att.Desc_Pros = {}
att.Desc_Cons = {
"uc.jam"
}
att.Desc_Neutrals = {}
att.Slot = "ud_m16_mag"
att.AutoStats = true
att.HideIfBlocked = true
att.Override_ClipSize = 60
att.Mult_SightTime = 1.2
att.Mult_ReloadTime = 1.3
att.Mult_Sway = 2
att.Mult_SpeedMult = 0.95
att.Mult_ShootSpeedMult = 0.9
att.Mult_DrawTime = 1.15
att.Mult_HolsterTime = 1.15
att.Mult_HipDispersion = 1.25
att.ActivateElements = {"ud_m16_mag_60"}
--[[]
att.Override_Jamming = true
att.Override_HeatCapacity = 300
att.Override_HeatDissipation = 5
att.Override_HeatDelayTime = 3
]]
att.Override_Malfunction = true
att.Mult_MalfunctionVariance = 1.25
att.Hook_SelectReloadAnimation = function(wep, anim)
return anim .. "_60"
end
att.ExcludeFlags = {"m16_usas", "m16_9mm", "m16_50beo"}

View File

@ -0,0 +1,29 @@
att.PrintName = "32-Round AMSMG Mag"
att.AbbrevName = "32-Round Mag"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "32-Round 9mm AR-15 Mag"
end
att.Icon = Material("entities/att/acwatt_ud_m16_9mm_32.png", "smooth mips")
att.Description = "A long stick magazine for the 9mm caliber conversion."
att.Desc_Pros = {}
att.Desc_Cons = {}
att.Desc_Neutrals = {}
att.Slot = "ud_m16_mag"
att.AutoStats = true
att.HideIfBlocked = true
att.Override_ClipSize = 32
att.Mult_SightTime = 1.1
att.Mult_ReloadTime = 1.15
att.Mult_Sway = 1.25
att.Mult_ShootSpeedMult = 0.95
att.ActivateElements = {"ud_m16_9mm_mag_32"}
att.RequireFlags = {"m16_9mm"}
att.Hook_SelectReloadAnimation = function(wep, anim)
return anim .. "_9mm"
end

View File

@ -0,0 +1,23 @@
att.PrintName = "PMAG 30 AR/M4 GEN M2 MOE"
att.AbbrevName = "30-Round PMAG"
att.SortOrder = 40
att.Icon = Material("entities/att/acwatt_ud_m16_mag_pmag.png", "smooth mips")
att.Description = "American aftermarket magazine. The grooves give it a slightly better grip surface, but the difference in practice is negligible."
att.Desc_Pros = {}
att.Desc_Cons = {}
att.Desc_Neutrals = {"uc.cosmetic"}
att.Slot = "ud_m16_mag"
att.AutoStats = true
att.HideIfBlocked = true
-- att.Mult_SightTime = 1.1
-- att.Mult_ReloadTime = 1.15
-- att.Mult_Sway = 1.5
-- att.Mult_SpeedMult = 0.975
-- att.Mult_ShootSpeedMult = 0.95
att.ActivateElements = {"ud_m16_pmag"}
att.ExcludeFlags = {"m16_usas", "m16_9mm", "m16_50beo"}

View File

@ -0,0 +1,45 @@
att.PrintName = "20-Round AMSAS Drum Mag"
att.AbbrevName = "20-Round Drum Mag"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "20-Round USAR Drum Mag"
end
att.SortOrder = -1
att.Icon = Material("entities/att/obsolete.png", "mips smooth")
att.Description = "Extended drum magazine that offers extra magazine capacity. Almost no legitimate military uses, but makes a fun range toy."
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_m16_mag"
att.AutoStats = true
att.HideIfBlocked = true
att.Override_ClipSize = 20
att.Override_ClipSize_SkipAS = true
att.Mult_SightTime = 1.25
--att.Mult_Recoil = 0.9
att.Mult_ReloadTime = 1.25
att.Mult_SpeedMult = 0.95
att.Mult_Sway = 3
att.ActivateElements = {"ud_m16_usas_mag_20"}
att.Hook_SelectReloadAnimation = function(wep, anim)
return anim .. "_usas_20"
end
att.Hook_SelectFireAnimation = function(wep, anim)
return anim .. "_usas"
end
att.RequireFlags = {"m16_usas"}
att.Description = "OBSOLETE"
att.Ignore = true

View File

@ -0,0 +1,27 @@
att.PrintName = "Model 605 Three-prong"
att.AbbrevName = "M605 Three-prong"
att.Icon = Material("entities/att/acwatt_ud_m16_muzzle_605.png", "mips smooth")
att.Description = ""
att.Desc_Pros = {
"uc.flashhider"
}
att.Desc_Cons = {
}
att.AutoStats = true
att.Slot = "ud_m16_muzzle"
att.SortOrder = -101
att.Model = "models/weapons/arccw/atts/fesiug_threeprong_605.mdl"
att.ModelOffset = Vector(0.4, 0, 0)
att.ModelScale = Vector(1, 1, 1)
att.OffsetAng = Angle(0, 0, 0)
att.Add_BarrelLength = 4
att.Mult_Sway = 1.1
att.Mult_HipDispersion = 0.9
att.Mult_ShootPitch = 1.1
att.Mult_ShootVol = 0.75
att.AttachSound = "arccw_uc/common/gunsmith/suppressor_thread.ogg"

View File

@ -0,0 +1,27 @@
att.PrintName = "Model 607 Moderator"
att.AbbrevName = "M607 Moderator"
att.Icon = Material("entities/att/acwatt_ud_m16_muzzle_607.png", "mips smooth")
att.Description = ""
att.Desc_Pros = {
"uc.flashhider"
}
att.Desc_Cons = {
}
att.AutoStats = true
att.Slot = "ud_m16_muzzle"
att.SortOrder = -102
att.Model = "models/weapons/arccw/atts/fesiug_moderator_607.mdl"
att.ModelOffset = Vector(0.2, 0, 0)
att.ModelScale = Vector(1, 1, 1)
att.OffsetAng = Angle(0, 0, 0)
att.Add_BarrelLength = 4
att.Mult_Sway = 1.1
att.Mult_HipDispersion = 0.9
att.Mult_ShootPitch = 1.1
att.Mult_ShootVol = 0.75
att.AttachSound = "arccw_uc/common/gunsmith/suppressor_thread.ogg"

View File

@ -0,0 +1,27 @@
att.PrintName = "CAR-15 XM177 Moderator"
att.AbbrevName = "XM177 Moderator"
att.Icon = Material("entities/att/acwatt_ud_m16_muzzle_xm177.png", "mips smooth")
att.Description = ""
att.Desc_Pros = {
"uc.flashhider"
}
att.Desc_Cons = {
}
att.AutoStats = true
att.Slot = "ud_m16_muzzle"
att.SortOrder = -100
att.Model = "models/weapons/arccw/atts/fesiug_moderator_xm177.mdl"
att.ModelOffset = Vector(0.3, 0, 0)
att.ModelScale = Vector(1, 1, 1)
att.OffsetAng = Angle(0, 0, 0)
att.Add_BarrelLength = 4
att.Mult_Sway = 1.1
att.Mult_HipDispersion = 0.9
att.Mult_ShootPitch = 1.1
att.Mult_ShootVol = 0.75
att.AttachSound = "arccw_uc/common/gunsmith/suppressor_thread.ogg"

View File

@ -0,0 +1,79 @@
att.PrintName = "AMCAR-NG .22 LR Upper Receiver"
att.AbbrevName = ".22 LR Upper"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "AR-15 .22 LR Upper Receiver"
end
att.Icon = Material("entities/att/uc_bullets/22lr.png", "smooth mips")
att.Description = "Civilian model firing a low power cartridge.\nVery controllable recoil, but not much lethality."
att.Desc_Pros = {
--"uc.auto",
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_m16_receiver"
att.SortOrder = -12
att.AutoStats = true
att.SortOrder = 3
att.Mult_RPM = 1 / .85
att.Mult_Damage = ArcCW.UC.CalConv("556", "22lr", "max")
att.Mult_DamageMin = ArcCW.UC.CalConv("556", "22lr", "min")
att.Mult_Penetration = ArcCW.UC.CalConv("556", "22lr", "pen")
att.Mult_Range = 0.5
att.Mult_ShootSpeedMult = 1.2
att.Mult_Recoil = 0.2
att.Mult_VisualRecoilMult = 0.2
att.Mult_ClipSize = 1.2
att.Mult_HeatCapacity = 2
att.Override_PhysTracerProfile = "uc_plinking"
att.Override_PhysBulletMuzzleVelocity = 375 / 0.8333
att.Override_Ammo = "plinking"
att.Override_Trivia_Calibre = ".22 Long Rifle"
att.Override_ShellModel = "models/weapons/arccw/uc_shells/22lr.mdl"
att.Override_ShellScale = 1
att.Override_ShellSounds = ArcCW.TinyShellSoundsTable
local path = "arccw_uc/common/"
local fire22 = {path .. "fire-22-01.ogg",path .. "fire-22-02.ogg",path .. "fire-22-03.ogg",path .. "fire-22-04.ogg",path .. "fire-22-05.ogg",path .. "fire-22-06.ogg"}
local fire22sup = {path .. "fire-22-sup-01.ogg",path .. "fire-22-sup-02.ogg",path .. "fire-22-sup-03.ogg",path .. "fire-22-sup-04.ogg",path .. "fire-22-sup-05.ogg",path .. "fire-22-sup-06.ogg"}
att.Hook_GetShootSound = function(wep, sound)
if wep:GetBuff_Override("Silencer") then
return fire22sup
else
return fire22
end
end
local fire22dist = {path .. "fire-22-dist-01.ogg", path .. "fire-22-dist-02.ogg", path .. "fire-22-dist-03.ogg", path .. "fire-22-dist-04.ogg", path .. "fire-22-dist-05.ogg", path .. "fire-22-dist-06.ogg"}
att.Hook_GetDistantShootSoundOutdoors = function(wep, distancesound)
if wep:GetBuff_Override("Silencer") then
-- fallback to script
else
return fire22dist
end
end
local fire22distint = {path .. "fire-dist-int-pistol-light-01.ogg", path .. "fire-dist-int-pistol-light-02.ogg", path .. "fire-dist-int-pistol-light-03.ogg", path .. "fire-dist-int-pistol-light-04.ogg", path .. "fire-dist-int-pistol-light-05.ogg", path .. "fire-dist-int-pistol-light-06.ogg"}
att.Hook_GetDistantShootSoundIndoors = function(wep, distancesound)
if wep:GetBuff_Override("Silencer") then
-- fallback to script
else
return fire22distint
end
end

View File

@ -0,0 +1,72 @@
att.PrintName = "AMCAR .300 Blackout Upper Receiver"
att.AbbrevName = ".300 BLK Upper"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "AR-15 .300 Blackout Upper Receiver"
end
att.Description = "Aftermarket receiver that fires .300 Blackout cartridges, identical to 5.56x45mm in diameter but with a much larger projectile.\nIts low muzzle velocity makes it well suited for subsonic loads."
att.Icon = Material("entities/att/uc_bullets/300blackout.png", "smooth mips")
att.Desc_Pros = {
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_m16_receiver"
att.AutoStats = true
att.SortOrder = 4
att.Mult_Damage = ArcCW.UC.CalConv("556", "300blk", "max")
att.Mult_DamageMin = ArcCW.UC.CalConv("556", "300blk", "min")
att.Mult_Penetration = ArcCW.UC.CalConv("556", "300blk", "pen")
att.Mult_ShootVol = 105 / 120
att.Mult_Range = 0.9
att.Mult_HeatDissipation = 1.5
att.Override_PhysBulletMuzzleVelocity = 310
att.Override_ShellModel = "models/weapons/arccw/uc_shells/300blk.mdl"
att.Override_ShellScale = 1
att.Override_Trivia_Calibre = ".300 AAC Blackout"
att.AddSuffix = " .300"
local path = "weapons/arccw_ud/m16/"
att.Hook_GetShootSound = function(wep, sound) -- Temporary
if wep:GetBuff_Override("Silencer") then
-- fallback to script
else
return {
path .. "fire-300-01.ogg",
path .. "fire-300-02.ogg",
path .. "fire-300-03.ogg",
path .. "fire-300-04.ogg",
path .. "fire-300-05.ogg",
path .. "fire-300-06.ogg"
}
end
end
att.Hook_GetDistantShootSoundOutdoors = function(wep, distancesound)
if wep:GetBuff_Override("Silencer") then
-- fallback to script
else
return {
path .. "fire-dist-300-01.ogg",
path .. "fire-dist-300-02.ogg",
path .. "fire-dist-300-03.ogg",
path .. "fire-dist-300-04.ogg",
path .. "fire-dist-300-05.ogg",
path .. "fire-dist-300-06.ogg"
}
end
end
att.GivesFlags = {"cal_subsonic"}

View File

@ -0,0 +1,130 @@
att.PrintName = "AMCAR-NG .50 Beowulf Upper Receiver"
att.AbbrevName = ".50 Beowulf Upper"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "AR-15 .50 Beowulf Upper Receiver"
end
att.SortOrder = -1
att.Icon = Material("entities/att/uc_bullets/50beowulf.png", "smooth mips")
att.Description = "Semi-automatic receiver chambered in .50 Beowulf, a gigantic short-range cartridge with terrible ballistic performance. It can load single-stack into standard AR-15 magazines at a lower capacity.\nThe rifle is unable to handle the massive pressure at anything more than semi-automatic fire."
att.Desc_Pros = {}
att.Desc_Cons = {
"ud.m16.50beo",
"uc.semionly",
}
att.Desc_Neutrals = {}
att.Slot = "ud_m16_receiver"
att.AutoStats = true
att.HideIfBlocked = true
att.SortOrder = 1
att.Override_ClipSize = 7
att.Override_ClipSize_Priority = 0.5
att.BaseClipSize = 7
att.Mult_Damage = ArcCW.UC.CalConv("556", "50beo", "max")
att.Mult_DamageMin = ArcCW.UC.CalConv("556", "50beo", "min")
att.Mult_Penetration = ArcCW.UC.CalConv("556", "50beo", "pen")
att.Mult_Recoil = 3
att.Mult_RecoilSide = 2
att.Mult_VisualRecoilMult = 2
att.Mult_RPM = 0.5
att.Mult_Range = 0.25
att.Mult_ShootVol = 1.2
att.Mult_SightTime = 0.91
att.Mult_ReloadTime = 0.87
att.Mult_Sway = 0.667
att.Mult_SpeedMult = 1.025
att.Override_PhysBulletMuzzleVelocity = 550
-- att.Mult_HeatCapacity = 0.25
-- att.Mult_HeatDissipation = 0.25
-- yes, .50 beowulf is more of an huge magnum bullet than it is a rifle bullet
att.Override_Ammo = "357"
att.Override_Trivia_Calibre = ".50 Beowulf"
att.AddSuffix = " .50"
att.Override_ShellModel = "models/weapons/arccw/uc_shells/50beo.mdl"
att.Override_ShellScale = 1
att.Override_ShellSounds = ArcCW.PistolShellSoundsTable
att.Override_Firemodes_Priority = 0.5
att.Override_Firemodes = {
{
Mode = 1,
},
{
Mode = 0
}
}
local path = "weapons/arccw_ud/m16/"
local common = ")/arccw_uc/common/"
local tail = common .. "50beo/"
local tail1 = common .. "308/"
local fire50 = {path .. "fire-50-01.ogg",path .. "fire-50-02.ogg",path .. "fire-50-03.ogg",path .. "fire-50-04.ogg",path .. "fire-50-05.ogg",path .. "fire-50-06.ogg"}
local fire50dist = {tail .. "fire-dist-50beo-rif-ext-01.ogg", tail .. "fire-dist-50beo-rif-ext-02.ogg", tail .. "fire-dist-50beo-rif-ext-03.ogg", tail .. "fire-dist-50beo-rif-ext-04.ogg", tail .. "fire-dist-50beo-rif-ext-05.ogg", tail .. "fire-dist-50beo-rif-ext-06.ogg"}
local fire50distint = {tail1 .. "fire-dist-308-rif-int-01.ogg", tail1 .. "fire-dist-308-rif-int-02.ogg", tail1 .. "fire-dist-308-rif-int-03.ogg", tail1 .. "fire-dist-308-rif-int-04.ogg", tail1 .. "fire-dist-308-rif-int-05.ogg",tail .. "fire-dist-308-rif-int-06.ogg"}
att.Hook_GetShootSound = function(wep, sound)
if wep:GetBuff_Override("Silencer") then
return fire50sup
else
return fire50
end
end
att.Hook_GetDistantShootSoundOutdoors = function(wep, distancesound)
if wep:GetBuff_Override("Silencer") then
-- fallback to script
else
return fire50dist
end
end
att.Hook_GetDistantShootSoundIndoors = function(wep, distancesound)
if wep:GetBuff_Override("Silencer") then
-- fallback to script
else
return fire50distint
end
end
-- can't be handled here
--att.ActivateElements = {"ud_m16_mag_50beo"}
att.Hook_SelectReloadAnimation = function(wep, anim)
if wep.Attachments[9].Installed == nil then
return anim .. "_20"
end
end
local slotinfo = {
[6] = {".50 Beowulf Lower", ".50 Beowulf Lower", Material("entities/att/acwatt_ud_m16_receiver_semi.png", "smooth mips")},
[11] = {"7-Round Mag", "7-Round Mag", Material("entities/att/acwatt_ud_m16_mag_15.png", "smooth mips")},
}
att.Hook_GetDefaultAttName = function(wep, slot)
if slotinfo[slot] then
return GetConVar("arccw_truenames"):GetBool() and slotinfo[slot][2] or slotinfo[slot][1]
end
end
att.Hook_GetDefaultAttIcon = function(wep, slot)
if slotinfo[slot] then
return slotinfo[slot][3]
end
end
att.Override_Trivia_Class = "Semi-Automatic Rifle"
att.GivesFlags = {"m16_50beo", "m16_nolower"}

View File

@ -0,0 +1,96 @@
att.PrintName = "AMPAW-9 9x19mm Upper Receiver"
att.AbbrevName = "9x19mm Upper"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "R0635 9x19mm Upper Receiver"
end
att.Icon = Material("entities/att/uc_bullets/9x19.png", "smooth mips")
att.Description = "A converted receiver that fires 9x19mm Parabellum rounds. The smaller caliber drastically reduces recoil, but has much less range and is less accurate."
att.Desc_Pros = {
--"uc.auto",
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_m16_receiver"
att.SortOrder = -10
att.AutoStats = true
att.SortOrder = 3
att.Mult_Penetration = 6 / 14
att.Mult_RPM = 1 / .85
att.Mult_Damage = ArcCW.UC.CalConv("556", "9mm", "max")
att.Mult_DamageMin = ArcCW.UC.CalConv("556", "9mm", "min")
att.Mult_Penetration = ArcCW.UC.CalConv("556", "9mm", "pen")
att.Mult_Range = 0.4
att.Mult_ShootSpeedMult = 1.1
att.Mult_Recoil = 0.5
att.Mult_HipDispersion = 0.85
--att.Mult_ReloadTime = 0.85
att.Mult_SightTime = 0.9
att.Override_ClipSize_Priority = -1
att.Override_ClipSize = 20
att.Mult_HeatCapacity = 1.5
att.GivesFlags = {"m16_auto", "m16_9mm"}
att.ExcludeFlags = {"m16_noauto"}
att.ActivateElements = {"ud_m16_9mm_mag"}
att.Override_PhysBulletMuzzleVelocity = 396 / 0.833333
att.Override_Ammo = "pistol"
att.Override_Trivia_Calibre = "9x19mm Parabellum"
att.Override_Trivia_Class = "Submachine Gun"
att.Override_ShellModel = "models/weapons/arccw/uc_shells/9x19.mdl"
att.Override_ShellScale = 1
att.Override_ShellSounds = ArcCW.PistolShellSoundsTable
local path = ")^weapons/arccw_ud/glock/"
att.Hook_GetShootSound = function(wep, fsound)
if fsound == wep.ShootSound or fsound == wep.FirstShootSound then return "weapons/arccw_ud/m16/fire_9.ogg" end
if fsound == wep.ShootSoundSilenced then return {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"} end
end
local tail = ")^/arccw_uc/common/9x19/"
att.Hook_GetDistantShootSoundOutdoors = function(wep, distancesound)
if wep:GetBuff_Override("Silencer") then
-- fallback to script
else
return {
tail .. "fire-dist-9x19-pistol-ext-01.ogg",
tail .. "fire-dist-9x19-pistol-ext-02.ogg",
tail .. "fire-dist-9x19-pistol-ext-03.ogg",
tail .. "fire-dist-9x19-pistol-ext-04.ogg",
tail .. "fire-dist-9x19-pistol-ext-05.ogg",
tail .. "fire-dist-9x19-pistol-ext-06.ogg"
}
end
end
local slotinfo = {
[11] = {"20-Round Mag", "20-Round Mag", Material("entities/att/acwatt_ud_m16_9mm_20.png", "smooth mips")},
}
att.Hook_GetDefaultAttName = function(wep, slot)
if slotinfo[slot] then
return GetConVar("arccw_truenames"):GetBool() and slotinfo[slot][2] or slotinfo[slot][1]
end
end
att.Hook_GetDefaultAttIcon = function(wep, slot)
if slotinfo[slot] then
return slotinfo[slot][3]
end
end
att.Hook_SelectReloadAnimation = function(wep, anim)
return anim .. "_9mm"
end

View File

@ -0,0 +1,47 @@
att.PrintName = "AMRA1 Classic Upper Receiver"
att.AbbrevName = "Classic Upper"
att.Description = "Authentic upper receiver of the AMRA1 rifle, notable for its use throughout the latter half of the Vietnam War and seldom wielded by fortunate sons. Notorious for its difficult-to-control high RPM and still non-insignificant feeding failures."
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "M16A1 Classic Upper Receiver"
att.Description = "Authentic upper receiver of the M16A1 rifle, notable for its use throughout the latter half of the Vietnam War and seldom wielded by fortunate sons. Notorious for its difficult-to-control high RPM and still non-insignificant feeding failures."
end
att.Icon = Material("entities/att/acwatt_ud_m16_receiver_a1.png", "smooth mips")
att.Desc_Pros = {
--"uc.auto"
}
att.Desc_Cons = {
"uc.jam"
}
att.Desc_Neutrals = {
"ud.m16_a1"
}
att.Slot = "ud_m16_receiver"
--att.InvAtt = "ud_m16_receiver_auto"
att.AutoStats = true
att.SortOrder = -6
att.Override_Malfunction = true
att.Mult_AccuracyMOA = 1.25
att.Mult_HipDispersion = 1.125
-- att.Override_Firemodes = {
-- {
-- Mode = 2,
-- },
-- {
-- Mode = 1,
-- },
-- {
-- Mode = 0
-- }
-- }
att.Mult_RPM = 900 / 765
att.GivesFlags = {"m16_auto", "ud_m16_retro", "ud_m16_a1"}
att.ExcludeFlags = {"m16_noauto","ud_m16_not_retro"}
att.ActivateElements = {"upper_classic","ud_m16_upper_charm2"}
att.TopMount = 3

View File

@ -0,0 +1,40 @@
att.PrintName = "AMCAR Cam-lock Burst Receiver"
att.AbbrevName = "Alt. Burst Lower"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "M16A2 Cam-lock Burst Receiver"
end
att.Description = "An alternative burst fire receiver that fires the entire burst with one trigger pull. This has a slight benefit for recoil control, but is mostly down to preference."
att.Icon = Material("entities/att/acwatt_ud_m16_receiver_default.png", "smooth mips")
att.Desc_Pros = {
"ud.m16_altburst.1"
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
"ud.m16_altburst.2"
}
att.Slot = "ud_m16_fcg"
att.AutoStats = true
att.Free = true
att.SortOrder = 10
att.Override_Firemodes_Priority = 0.5
att.Override_Firemodes = {
{
Mode = -3,
PostBurstDelay = 0.08,
Mult_Recoil = 0.9,
RunawayBurst = true, -- https://en.wikipedia.org/wiki/Burst_mode_(weapons)
},
{
Mode = 1,
},
{
Mode = 0
}
}

View File

@ -0,0 +1,44 @@
att.PrintName = "AMCAR-NG Automatic Receiver"
att.AbbrevName = "Automatic Lower"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "M16A3 Automatic Receiver"
end
att.Description = "A fire control group that supports fully automatic fire. Comes in semi-auto-safe configuration."
att.Icon = Material("entities/att/acwatt_ud_m16_receiver_auto.png", "smooth mips")
att.Desc_Pros = {
"uc.auto",
--"ud.flattop"
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_m16_fcg"
--att.InvAtt = "ud_m16_receiver_auto"
att.AutoStats = true
att.SortOrder = 5
att.Mult_AccuracyMOA = 1.25
att.Mult_RPM = 0.85
att.Mult_HipDispersion = 1.125
att.Mult_ShootSpeedMult = 0.85
att.Override_Firemodes = {
{
Mode = 2,
},
{
Mode = 1,
},
{
Mode = 0
}
}
att.GivesFlags = {"m16_auto"}
att.ExcludeFlags = {"m16_noauto"}
-- att.ActivateElements = {"ud_m16_upper_flat"}

View File

@ -0,0 +1,50 @@
att.PrintName = "AMCAR-1 4-Position Receiver"
att.AbbrevName = "4-Position Lower"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "CAR-15 4-Position Receiver"
end
att.Description = "A fire control group that supports fully automatic fire. Comes in semi-auto-safe configuration."
att.Icon = Material("entities/att/acwatt_ud_m16_receiver_auto.png", "smooth mips")
att.Desc_Pros = {
"uc.auto",
"2x RPM in burst"
--"ud.flattop"
}
att.Desc_Cons = {
}
att.Desc_Neutrals = {
}
att.Slot = "ud_m16_fcg"
--att.InvAtt = "ud_m16_receiver_auto"
att.AutoStats = true
att.SortOrder = 5
att.Mult_AccuracyMOA = 1.25
att.Mult_RPM = 0.85
att.Mult_HipDispersion = 1.125
att.Mult_ShootSpeedMult = 0.85
att.Override_Firemodes = {
{
Mode = 2,
},
{
Mode = -2,
PostBurstDelay = 0.08,
Mult_RPM = 2,
},
{
Mode = 1,
},
{
Mode = 0
}
}
att.GivesFlags = {"m16_auto"}
att.ExcludeFlags = {"m16_noauto"}
-- att.ActivateElements = {"ud_m16_upper_flat"}

View File

@ -0,0 +1,46 @@
att.PrintName = "UKCAR .223 Lower Receiver"
att.AbbrevName = "Manual Lower"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "AR-15GB .223 Lower Receiver"
end
att.Icon = Material("entities/att/acwatt_ud_m16_receiver_cali.png", "smooth mips")
att.Description = "Straight-pull bolt action receiver for the M16, designed to comply with British centrefire rifle laws."
att.Desc_Pros = {
}
att.Desc_Cons = {
"uc.manual"
}
att.Desc_Neutrals = {
}
att.Slot = "ud_m16_fcg"
att.AutoStats = true
att.SortOrder = -5
att.Override_CaseEffectAttachment = 6
att.Mult_PhysBulletMuzzleVelocity = 1.3
att.Override_Firemodes = {
{
Mode = 1,
PrintName = "fcg.bolt",
},
{
Mode = 0
}
}
att.Hook_TranslateAnimation = function(wep, anim)
if (anim == "fire" || anim == "fire_empty") then
return "fire_cycle"
end
end
att.Override_ManualAction = true
att.Mult_AccuracyMOA = 0.5
att.Mult_Range = 1.25
att.Mult_RangeMin = 1.25
att.Mult_MalfunctionMean = 1.5

View File

@ -0,0 +1,66 @@
att.PrintName = "AMFPW Receiver Package"
att.AbbrevName = "FPW Package"
att.Description = "Unique receiver group of the M231 Firing Port Weapon.\nOriginally intended to be fired from inside a fighting vehicle, the FPW has an insanely high cyclic rate, lacks a front sight and semi-automatic mode, fires from an open bolt, and makes no considerations for recoil, accuracy or heat. The trigger pull is also known to be very heavy."
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "M231 FPW Receiver Package"
end
att.Icon = Material("entities/att/acwatt_ud_m16_receiver_a1.png", "smooth mips")
att.Desc_Pros = {
"uc.auto"
}
att.Desc_Cons = {
"uc.jam",
"uc.nofs",
"uc.overheat",
"ud.m16.fpw1",
"ud.m16.fpw2"
}
att.Desc_Neutrals = {
"ud.m16_a1"
}
att.Slot = "ud_m16_fcg"
--att.InvAtt = "ud_m16_receiver_auto"
att.AutoStats = true
att.SortOrder = -6.5
att.Mult_RPM = 1103 / 900
att.Mult_Recoil = 1.25 / 1.1
att.Mult_RecoilSide = 1.5
att.Mult_Range = 0.9
--att.Mult_Sway = 1.25
att.Mult_AccuracyMOA = 4 / 3
att.Mult_HipDispersion = 0.85
att.Override_ChamberSize = 0
att.Override_TriggerDelay = true
att.Override_Malfunction = true
att.Override_Jamming = true
att.Override_HeatLockout = false
att.Override_HeatCapacity = 120
att.Override_HeatDissipation = 20
att.A_Hook_Add_SightsDispersion = function(wep, data)
if data and (!wep.Attachments[1].Installed or wep.Attachments[1].Installed == "ud_m16_rs") then
data.add = data.add + 50
end
end
att.Override_Firemodes = {
{
Mode = 2,
},
{
Mode = 0
}
}
att.Override_ChamberSize = 0
att.GivesFlags = {"m16_auto", "ud_m16_retro", "ud_m16_fpw", "sight_magpul", "patr3"}
att.ExcludeFlags = {"m16_noauto","ud_m16_not_retro"}
att.ActivateElements = {"upper_classic","ud_m16_upper_charm2"}
att.TopMount = 3

View File

@ -0,0 +1,41 @@
att.PrintName = "AMCAR-NG Sporter Receiver"
att.AbbrevName = "Sporter Lower"
if GetConVar("arccw_truenames"):GetBool() then
att.PrintName = "AR-15 Sporter Receiver"
end
att.Description = "A semi-automatic receiver sold in civilian markets. Designed for sport shooting, this receiver is more accurate and lightweight."
att.Icon = Material("entities/att/acwatt_ud_m16_receiver_semi.png", "smooth mips")
att.Desc_Pros = {
}
att.Desc_Cons = {
"uc.semionly"
}
att.Desc_Neutrals = {
}
att.Slot = "ud_m16_fcg"
att.AutoStats = true
att.SortOrder = -1
att.Mult_RPM = 600 / 900
att.Mult_Recoil = 0.8
att.Mult_AccuracyMOA = 0.75
att.Mult_Range = 1.15
att.Mult_MoveDispersion = 0.5
att.Mult_PhysBulletMuzzleVelocity = 1.15
att.Override_Firemodes_Priority = 0.5
att.Override_Firemodes = {
{
Mode = 1,
},
{
Mode = 0
}
}
att.Override_Trivia_Class = "Semi-Automatic Rifle"

View File

@ -0,0 +1,31 @@
att.PrintName = "Flip-up Rear Sight"
att.Icon = Material("entities/att/acwatt_ud_m16_rs.png", "smooth mips")
att.Description = "A rail-mounted rear sight for flat top receivers.\nLooks more modern, but that's it."
att.Desc_Pros = {}
att.Desc_Cons = {}
att.Desc_Neutrals = {
"uc.cosmetic"
}
att.Slot = "ud_m16_rs"
att.ActivateElements = {"ud_m16_upper_flat"}
att.GivesFlags = {"ud_m16_not_retro"}
att.ExcludeFlags = {"ud_m16_retro"}
--att.HideIfBlocked = true
att.SortOrder = 1000
att.Free = true
att.IgnorePickX = true
att.MountPositionOverride = 0.5
att.IronSight = true
att.Override_IronSightStruct = {
Pos = Vector(-2.80, 0, 0.85),
Ang = Angle(1.05, 0, 0),
Magnification = 1.1
}
att.Model = "models/weapons/arccw/atts/sig_rs.mdl"
att.ModelOffset = Vector(-2, -0.002, 0)
att.ModelScale = Vector(.86, .86, .86)
att.HideIfBlocked = true

View File

@ -0,0 +1,31 @@
att.PrintName = "3D Rear Sight"
att.Icon = Material("entities/att/acwatt_ud_m16_rs_3d.png", "smooth mips")
att.Description = "A 3D-printed rear sight for flat top receivers. You probably want a top rail to mount the matching front sight as well."
att.Desc_Pros = {}
att.Desc_Cons = {}
att.Desc_Neutrals = {
"uc.cosmetic"
}
att.Slot = "ud_m16_rs"
att.ActivateElements = {"ud_m16_upper_flat"}
att.GivesFlags = {"ud_m16_not_retro"}
att.ExcludeFlags = {"ud_m16_retro"}
--att.HideIfBlocked = true
att.SortOrder = 1000
att.Free = true
att.IgnorePickX = true
att.MountPositionOverride = 0.5
att.IronSight = true
att.Override_IronSightStruct = {
Pos = Vector(-2.80, 0, 2.2),
Ang = Angle(1.05, 0, 0),
Magnification = 1.1
}
att.Model = "models/weapons/arccw/atts/3d_rs.mdl"
att.ModelOffset = Vector(-2, -0.002, 0)
att.ModelScale = Vector(.86, .86, .86)
att.HideIfBlocked = true

View File

@ -0,0 +1,31 @@
att.PrintName = "Carry Handle"
att.Icon = Material("entities/att/acwatt_ud_m16_rs_ch.png", "mips smooth")
att.Description = "Mountable carry handle that is independent from the receiver."
att.Desc_Pros = {}
att.Desc_Cons = {}
att.Desc_Neutrals = {
"uc.cosmetic"
}
att.Slot = "ud_m16_rs"
att.ActivateElements = {"ud_m16_upper_flat"}
att.GivesFlags = {"ud_m16_not_retro"}
att.ExcludeFlags = {"ud_m16_retro"}
--att.HideIfBlocked = true
att.SortOrder = 1000
att.Free = true
att.IgnorePickX = true
att.MountPositionOverride = 0.64
att.IronSight = true
att.Override_IronSightStruct = {
Pos = Vector(-2.80, 0, 1.11),
Ang = Angle(0.4, 0, 0),
Magnification = 1.1
}
att.Model = "models/weapons/arccw/atts/colt_ch.mdl"
att.ModelOffset = Vector(-2.2, -0.004, 0)
att.ModelScale = Vector(.78, .78, .78)
att.HideIfBlocked = true

View File

@ -0,0 +1,31 @@
att.PrintName = "KAC Rear Sight"
att.Icon = Material("entities/att/acwatt_ud_m16_rs_kac.png", "mips smooth")
att.Description = "Aftermarket rear sight for flat top receivers. Functionally identical to other iron sights, but may look more tactical (or mall-ninja, depending on your taste)."
att.Desc_Pros = {}
att.Desc_Cons = {}
att.Desc_Neutrals = {
"uc.cosmetic"
}
att.Slot = "ud_m16_rs"
att.ActivateElements = {"ud_m16_upper_flat"}
att.GivesFlags = {"ud_m16_not_retro"}
att.ExcludeFlags = {"ud_m16_retro"}
--att.HideIfBlocked = true
att.SortOrder = 1000
att.Free = true
att.IgnorePickX = true
att.MountPositionOverride = 0.5
att.IronSight = true
att.Override_IronSightStruct = {
Pos = Vector(-2.8, 0, 0.9),
Ang = Angle(0.9, 0, 0),
Magnification = 1.1
}
att.Model = "models/weapons/arccw/atts/kac_rs.mdl"
att.ModelOffset = Vector(-1.5, -0.01, -0.09)
att.ModelScale = Vector(0.9, 0.9, 0.9)
att.HideIfBlocked = true

View File

@ -0,0 +1,31 @@
att.PrintName = "Magpul Rear Sight"
att.Icon = Material("entities/att/acwatt_ud_m16_rs_magpul.png", "smooth mips")
att.Description = "Aftermarket rear sight for flat top receivers. Functionally identical to other iron sights, but may look more tactical (or mall-ninja, depending on your taste)."
att.Desc_Pros = {}
att.Desc_Cons = {}
att.Desc_Neutrals = {
"uc.cosmetic"
}
att.Slot = "ud_m16_rs"
att.ActivateElements = {"ud_m16_upper_flat"}
att.GivesFlags = {"ud_m16_not_retro"}
att.ExcludeFlags = {"ud_m16_retro"}
--att.HideIfBlocked = true
att.SortOrder = 1000
att.Free = true
att.IgnorePickX = true
att.MountPositionOverride = 0.5
att.IronSight = true
att.Override_IronSightStruct = {
Pos = Vector(-2.80, 0, 0.85),
Ang = Angle(1.05, 0, 0),
Magnification = 1.1
}
att.Model = "models/weapons/arccw/atts/magpul_rs.mdl"
att.ModelOffset = Vector(-1.5, -0.005, 0)
att.ModelScale = Vector(0.87, 0.87, 0.87)
att.HideIfBlocked = true

Some files were not shown because too many files have changed in this diff Show More