Weapons can.. do things..

This commit is contained in:
Fesiug 2023-10-31 19:05:52 -04:00
parent fbff152e78
commit 39faca35c8
3 changed files with 228 additions and 39 deletions

View File

@ -0,0 +1,78 @@
function SWEP:CallFire()
local class = self:BClass( false )
local spread = class.Spread or 0
for i=1, class.Pellets or 1 do
local dir = self:GetOwner():EyeAngles()
local radius = util.SharedRandom("benny_distance", 0, 1, i )
local circ = util.SharedRandom("benny_radius", 0, math.rad(360), i )
dir:RotateAroundAxis( dir:Right(), spread * radius * math.sin( circ ) )
dir:RotateAroundAxis( dir:Up(), spread * radius * math.cos( circ ) )
dir:RotateAroundAxis( dir:Forward(), 0 )
local tr = util.TraceLine( {
start = self:GetOwner():EyePos(),
endpos = self:GetOwner():EyePos() + dir:Forward() * 8192,
filter = self:GetOwner()
} )
self:FireBullets( {
Attacker = self:GetOwner(),
Damage = self:BClass( false ).Damage,
Force = self:BClass( false ).Damage/10,
Src = self:GetOwner():EyePos(),
Dir = dir:Forward(),
IgnoreEntity = self:GetOwner(),
Callback = self.BulletCallback,
} )
-- self:FireCL( tr )
-- self:FireSV( tr )
end
end
function SWEP:BulletCallback()
return true
end
function SWEP:FireCL( tr )
if CLIENT and IsFirstTimePredicted() then
do
local vStart = self.CWM:GetAttachment( 1 ).Pos
local vPoint = tr.HitPos
local effectdata = EffectData()
effectdata:SetStart( vStart )
effectdata:SetOrigin( vPoint )
effectdata:SetEntity( self )
effectdata:SetScale( 1025*12 )
effectdata:SetFlags( 1 )
util.Effect( "Tracer", effectdata )
end
-- util.DecalEx( Material( util.DecalMaterial( "Impact.Concrete" ) ), tr.Entity, tr.HitPos, tr.HitNormal, color_white, 1, 1 )
do
local effectdata = EffectData()
effectdata:SetOrigin( tr.HitPos )
effectdata:SetStart( tr.StartPos )
effectdata:SetSurfaceProp( tr.SurfaceProps )
effectdata:SetEntity( tr.Entity )
effectdata:SetDamageType( DMG_BULLET )
util.Effect( "Impact", effectdata )
end
end
end
function SWEP:FireSV( tr )
local class = self:BClass( false )
if SERVER and IsValid( tr.Entity ) then
local dmginfo = DamageInfo()
dmginfo:SetDamage( class.Damage )
dmginfo:SetAttacker( self:GetOwner() )
dmginfo:SetInflictor( self )
dmginfo:SetDamageType( DMG_BULLET )
dmginfo:SetDamagePosition( tr.HitPos )
tr.Entity:TakeDamageInfo( dmginfo )
end
end

View File

@ -21,6 +21,8 @@ SWEP.Secondary.Ammo = "none"
AddCSLuaFile( "sh_statregen.lua" ) AddCSLuaFile( "sh_statregen.lua" )
include ( "sh_statregen.lua" ) include ( "sh_statregen.lua" )
AddCSLuaFile( "sh_firing.lua" )
include ( "sh_firing.lua" )
function SWEP:SetupDataTables() function SWEP:SetupDataTables()
self:NetworkVar( "Float", 0, "Aim" ) self:NetworkVar( "Float", 0, "Aim" )
@ -54,36 +56,11 @@ function SWEP:PrimaryAttack()
return return
end end
self:B_Ammo( false, self:Clip1() - 1 ) -- self:B_Ammo( false, self:Clip1() - 1 )
B_Sound( self, self:BClass( false ).Sound_Fire ) B_Sound( self, self:BClass( false ).Sound_Fire )
if CLIENT and IsFirstTimePredicted() then self:TPFire()
local tr = self:GetOwner():GetEyeTrace() self:CallFire()
do
local vStart = self.CWM:GetAttachment( 1 ).Pos
local vPoint = tr.HitPos
local effectdata = EffectData()
effectdata:SetStart( vStart )
effectdata:SetOrigin( vPoint )
effectdata:SetEntity( self )
effectdata:SetScale( 5000 )
effectdata:SetFlags( 1 )
util.Effect( "Tracer", effectdata )
end
-- util.DecalEx( Material( util.DecalMaterial( "Impact.Concrete" ) ), tr.Entity, tr.HitPos, tr.HitNormal, color_white, 1, 1 )
do
local effectdata = EffectData()
effectdata:SetOrigin( tr.HitPos )
effectdata:SetStart( tr.StartPos )
effectdata:SetSurfaceProp( tr.SurfaceProps )
effectdata:SetEntity( tr.Entity )
effectdata:SetDamageType( DMG_BULLET )
util.Effect( "Impact", effectdata )
end
end
self:SetDelay1( CurTime() + self:BClass( false ).Delay ) self:SetDelay1( CurTime() + self:BClass( false ).Delay )
self:SetWep1Burst( self:GetWep1Burst() + 1 ) self:SetWep1Burst( self:GetWep1Burst() + 1 )
@ -159,6 +136,7 @@ function SWEP:Reload()
end end
B_Sound( self, self:BClass().Sound_MagIn ) B_Sound( self, self:BClass().Sound_MagIn )
end end
self:TPReload()
end end
return true return true
end end
@ -182,12 +160,18 @@ function SWEP:Think()
end end
local ht = "normal" local ht = "normal"
if self:GetAim() > 0 then if self:GetUserAim() then
if self:BClass( false ) then if self:BClass( false ) then
ht = self:BClass( false ).HoldType or "revolver" ht = self:BClass( false ).HoldType or "revolver"
end end
end end
if ht == "normal" and self:GetHoldType() != "normal" then
self:TPHolster()
elseif ht != "normal" and self:GetHoldType() == "normal" then
self:TPDraw()
end
self:SetWeaponHoldType(ht) self:SetWeaponHoldType(ht)
self:SetHoldType(ht) self:SetHoldType(ht)
@ -202,6 +186,39 @@ function SWEP:Holster()
return true return true
end end
SWEP.GestureFire = { ACT_HL2MP_GESTURE_RANGE_ATTACK_SHOTGUN, 0.85 }
SWEP.GestureReload = { ACT_FLINCH_STOMACH, 0.3 }
SWEP.GestureDraw = { ACT_GMOD_GESTURE_MELEE_SHOVE_1HAND, 0.75 }
SWEP.GestureHolster = { ACT_GMOD_GESTURE_MELEE_SHOVE_1HAND, 0.65 }
function SWEP:TPFire()
local target = self:BClass( false ).GestureFire
if !target then
target = self.GestureFire
end
self:GetOwner():AddVCDSequenceToGestureSlot( GESTURE_SLOT_GRENADE, self:GetOwner():SelectWeightedSequence(target[1]), target[2], true )
end
function SWEP:TPReload()
local target = self:BClass( false ).GestureReload
if !target then
target = self.GestureReload
end
self:GetOwner():AddVCDSequenceToGestureSlot( GESTURE_SLOT_GRENADE, self:GetOwner():SelectWeightedSequence(target[1]), target[2], true )
end
function SWEP:TPDraw()
local target = self:BClass( false ).GestureDraw
if !target then
target = self.GestureDraw
end
self:GetOwner():AddVCDSequenceToGestureSlot( GESTURE_SLOT_GRENADE, self:GetOwner():SelectWeightedSequence(target[1]), target[2], true )
end
function SWEP:TPHolster()
local target = self:BClass( false ) and self:BClass( false ).GestureHolster
if !target then
target = self.GestureHolster
end
self:GetOwner():AddVCDSequenceToGestureSlot( GESTURE_SLOT_GRENADE, self:GetOwner():SelectWeightedSequence(target[1]), target[2], true )
end
if CLIENT then if CLIENT then
function SWEP:DrawWorldModel() function SWEP:DrawWorldModel()
@ -241,7 +258,7 @@ if CLIENT then
-- wm:SetupBones() -- wm:SetupBones()
-- end -- end
wm:DrawModel() if self:GetUserAim() then wm:DrawModel() end
end end
end end
end end

View File

@ -83,6 +83,14 @@ AddSound( "FNC.Fire", {
"benny/weapons/fnc/03.ogg", "benny/weapons/fnc/03.ogg",
}, 140, 100, 0.5, CHAN_STATIC ) }, 140, 100, 0.5, CHAN_STATIC )
AddSound( "AA12.Fire", "benny/weapons/aa12/01.ogg", 140, 100, 0.5, CHAN_STATIC )
AddSound( "SPAS12.Fire", {
"benny/weapons/spas12/01.ogg",
"benny/weapons/spas12/02.ogg",
"benny/weapons/spas12/03.ogg",
}, 140, 100, 0.5, CHAN_STATIC )
AddSound( "MP5K.MagOut", "benny/weapons/mp5k/magout.ogg", 70, 100, 0.5, CHAN_STATIC ) AddSound( "MP5K.MagOut", "benny/weapons/mp5k/magout.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "MP5K.MagIn", "benny/weapons/mp5k/magin.ogg", 70, 100, 0.5, CHAN_STATIC ) AddSound( "MP5K.MagIn", "benny/weapons/mp5k/magin.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "MAC11.MagOut", "benny/weapons/mac11/magout.ogg", 70, 100, 0.5, CHAN_STATIC ) AddSound( "MAC11.MagOut", "benny/weapons/mac11/magout.ogg", 70, 100, 0.5, CHAN_STATIC )
@ -107,6 +115,14 @@ AddSound( "M16A2.MagOut", "benny/weapons/m16a2/magout.ogg", 70, 100, 0.5, CHAN_S
AddSound( "M16A2.MagIn", "benny/weapons/m16a2/magin.ogg", 70, 100, 0.5, CHAN_STATIC ) AddSound( "M16A2.MagIn", "benny/weapons/m16a2/magin.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "FNC.MagOut", "benny/weapons/fnc/magout.ogg", 70, 100, 0.5, CHAN_STATIC ) AddSound( "FNC.MagOut", "benny/weapons/fnc/magout.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "FNC.MagIn", "benny/weapons/fnc/magin.ogg", 70, 100, 0.5, CHAN_STATIC ) AddSound( "FNC.MagIn", "benny/weapons/fnc/magin.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "AA12.MagOut", "benny/weapons/aa12/magout.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "AA12.MagIn", "benny/weapons/aa12/magin.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "SPAS12.MagOut", {
"benny/weapons/spas12/magout-01.ogg",
"benny/weapons/spas12/magout-02.ogg",
"benny/weapons/spas12/magout-03.ogg",
}, 70, 100, 0.5, CHAN_STATIC )
AddSound( "SPAS12.MagIn", "benny/weapons/spas12/magin.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "Common.Dryfire.Pistol", "benny/weapons/common/06-13.ogg", 70, 100, 0.5, CHAN_STATIC ) AddSound( "Common.Dryfire.Pistol", "benny/weapons/common/06-13.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "Common.Dryfire.Rifle", "benny/weapons/common/06-12.ogg", 70, 100, 0.5, CHAN_STATIC ) AddSound( "Common.Dryfire.Rifle", "benny/weapons/common/06-12.ogg", 70, 100, 0.5, CHAN_STATIC )
@ -118,6 +134,8 @@ WEAPONS["toolgun"] = {
Type = "special", Type = "special",
WModel = "models/weapons/w_toolgun.mdl", WModel = "models/weapons/w_toolgun.mdl",
HoldType = "revolver",
GestureDraw = { ACT_HL2MP_GESTURE_RELOAD_REVOLVER, 0.8 },
Delay = (60/300), Delay = (60/300),
Firemodes = FIREMODE_SEMI, Firemodes = FIREMODE_SEMI,
@ -165,12 +183,15 @@ WEAPONS["toolgun"] = {
end, end,
} }
-- Melee
WEAPONS["melee_bat"] = { WEAPONS["melee_bat"] = {
Name = "BAT", Name = "BAT",
Description = "meow", Description = "meow",
Type = "melee", Type = "melee",
WModel = "models/weapons/w_crowbar.mdl", WModel = "models/weapons/w_crowbar.mdl",
HoldType = "melee2",
Delay = (60/300), Delay = (60/300),
Firemodes = FIREMODE_SEMI, Firemodes = FIREMODE_SEMI,
@ -184,6 +205,7 @@ WEAPONS["melee_baton"] = {
Type = "melee", Type = "melee",
WModel = "models/weapons/w_eq_tonfa.mdl", WModel = "models/weapons/w_eq_tonfa.mdl",
HoldType = "knife",
Delay = (60/300), Delay = (60/300),
Firemodes = FIREMODE_SEMI, Firemodes = FIREMODE_SEMI,
@ -197,6 +219,7 @@ WEAPONS["melee_knife"] = {
Type = "melee", Type = "melee",
WModel = "models/weapons/w_knife_ct.mdl", WModel = "models/weapons/w_knife_ct.mdl",
HoldType = "knife",
Delay = (60/300), Delay = (60/300),
Firemodes = FIREMODE_SEMI, Firemodes = FIREMODE_SEMI,
@ -209,7 +232,8 @@ WEAPONS["melee_machete"] = {
Description = "meow", Description = "meow",
Type = "melee", Type = "melee",
WModel = "models/weapons/w_crowbar.mdl", WModel = "models/props_canal/mattpipe.mdl",
HoldType = "melee2",
Delay = (60/300), Delay = (60/300),
Firemodes = FIREMODE_SEMI, Firemodes = FIREMODE_SEMI,
@ -217,6 +241,8 @@ WEAPONS["melee_machete"] = {
Damage = 0, Damage = 0,
} }
-- Handguns
WEAPONS["1911"] = { WEAPONS["1911"] = {
Name = "COBRA .45", Name = "COBRA .45",
Description = "Hits hard. They don't make them like they used to!", Description = "Hits hard. They don't make them like they used to!",
@ -224,6 +250,10 @@ WEAPONS["1911"] = {
Icon = Material( "benny/weapons/mk23.png", "smooth" ), Icon = Material( "benny/weapons/mk23.png", "smooth" ),
WModel = "models/weapons/w_colt.mdl", WModel = "models/weapons/w_colt.mdl",
HoldType = "revolver",
GestureFire = { ACT_HL2MP_GESTURE_RANGE_ATTACK_PISTOL, 0.2 },
GestureDraw = { ACT_HL2MP_GESTURE_RELOAD_REVOLVER, 0.8 },
Sound_Fire = "1911.Fire", Sound_Fire = "1911.Fire",
Sound_DryFire = "Common.Dryfire.Pistol", Sound_DryFire = "Common.Dryfire.Pistol",
Sound_Reload = "1911.Reload", Sound_Reload = "1911.Reload",
@ -243,6 +273,10 @@ WEAPONS["usp"] = {
Icon = Material( "benny/weapons/mk23.png", "smooth" ), Icon = Material( "benny/weapons/mk23.png", "smooth" ),
WModel = "models/weapons/w_pist_usp.mdl", WModel = "models/weapons/w_pist_usp.mdl",
HoldType = "revolver",
GestureFire = { ACT_HL2MP_GESTURE_RANGE_ATTACK_PISTOL, 0.2 },
GestureDraw = { ACT_HL2MP_GESTURE_RELOAD_REVOLVER, 0.8 },
Sound_Fire = "USP.Fire", Sound_Fire = "USP.Fire",
Sound_DryFire = "Common.Dryfire.Pistol", Sound_DryFire = "Common.Dryfire.Pistol",
Sound_Reload = "USP.Reload", Sound_Reload = "USP.Reload",
@ -262,6 +296,10 @@ WEAPONS["glock"] = {
Icon = Material( "benny/weapons/mk23.png", "smooth" ), Icon = Material( "benny/weapons/mk23.png", "smooth" ),
WModel = "models/weapons/w_pist_glock18.mdl", WModel = "models/weapons/w_pist_glock18.mdl",
HoldType = "revolver",
GestureFire = { ACT_HL2MP_GESTURE_RANGE_ATTACK_PISTOL, 0.25 },
GestureDraw = { ACT_HL2MP_GESTURE_RELOAD_REVOLVER, 0.8 },
Sound_Fire = "Glock.Fire", Sound_Fire = "Glock.Fire",
Sound_DryFire = "Common.Dryfire.Pistol", Sound_DryFire = "Common.Dryfire.Pistol",
Sound_MagOut = "Glock.MagOut", Sound_MagOut = "Glock.MagOut",
@ -280,6 +318,10 @@ WEAPONS["nambu"] = {
Icon = Material( "benny/weapons/mk23.png", "smooth" ), Icon = Material( "benny/weapons/mk23.png", "smooth" ),
WModel = "models/weapons/w_pist_derringer.mdl", WModel = "models/weapons/w_pist_derringer.mdl",
HoldType = "revolver",
GestureFire = { ACT_HL2MP_GESTURE_RANGE_ATTACK_REVOLVER, 0.3 },
GestureDraw = { ACT_HL2MP_GESTURE_RELOAD_REVOLVER, 0.8 },
Sound_Fire = "Nambu.Fire", Sound_Fire = "Nambu.Fire",
Sound_DryFire = "Common.Dryfire.Pistol", Sound_DryFire = "Common.Dryfire.Pistol",
Sound_MagOut = "Nambu.MagOut", Sound_MagOut = "Nambu.MagOut",
@ -298,6 +340,10 @@ WEAPONS["anaconda"] = {
Icon = Material( "benny/weapons/mk23.png", "smooth" ), Icon = Material( "benny/weapons/mk23.png", "smooth" ),
WModel = "models/weapons/w_357.mdl", WModel = "models/weapons/w_357.mdl",
HoldType = "revolver",
GestureFire = { ACT_HL2MP_GESTURE_RANGE_ATTACK_REVOLVER, 0.1 },
GestureDraw = { ACT_HL2MP_GESTURE_RELOAD_REVOLVER, 0.8 },
Sound_Fire = "Anaconda.Fire", Sound_Fire = "Anaconda.Fire",
Sound_DryFire = "Common.Dryfire.Pistol", Sound_DryFire = "Common.Dryfire.Pistol",
Sound_MagOut = "Anaconda.MagOut", Sound_MagOut = "Anaconda.MagOut",
@ -309,6 +355,8 @@ WEAPONS["anaconda"] = {
Damage = 40, Damage = 40,
} }
-- SMGs & PDWs
WEAPONS["tmp"] = { WEAPONS["tmp"] = {
Name = "TMP", Name = "TMP",
Description = "Small, compact, and fast.", Description = "Small, compact, and fast.",
@ -316,6 +364,7 @@ WEAPONS["tmp"] = {
WModel = "models/weapons/w_smg_tmp_us.mdl", WModel = "models/weapons/w_smg_tmp_us.mdl",
HoldType = "rpg", HoldType = "rpg",
GestureFire = { ACT_HL2MP_GESTURE_RANGE_ATTACK_PISTOL, 0.3 },
Sound_Fire = "TMP.Fire", Sound_Fire = "TMP.Fire",
Sound_DryFire = "Common.Dryfire.Rifle", Sound_DryFire = "Common.Dryfire.Rifle",
@ -327,6 +376,7 @@ WEAPONS["tmp"] = {
Firemodes = FIREMODE_AUTOSEMI, Firemodes = FIREMODE_AUTOSEMI,
Ammo = 15, Ammo = 15,
Damage = 18, Damage = 18,
Spread = 20/60,
} }
WEAPONS["mp7"] = { WEAPONS["mp7"] = {
@ -336,6 +386,7 @@ WEAPONS["mp7"] = {
WModel = "models/weapons/w_smg1.mdl", WModel = "models/weapons/w_smg1.mdl",
HoldType = "rpg", HoldType = "rpg",
GestureFire = { ACT_HL2MP_GESTURE_RANGE_ATTACK_PISTOL, 0.3 },
Sound_Fire = "MP7.Fire", Sound_Fire = "MP7.Fire",
Sound_DryFire = "Common.Dryfire.Rifle", Sound_DryFire = "Common.Dryfire.Rifle",
@ -347,6 +398,7 @@ WEAPONS["mp7"] = {
Firemodes = FIREMODE_AUTOSEMI, Firemodes = FIREMODE_AUTOSEMI,
Ammo = 20, Ammo = 20,
Damage = 16, Damage = 16,
Spread = 20/60,
} }
WEAPONS["mp5k"] = { WEAPONS["mp5k"] = {
@ -356,6 +408,7 @@ WEAPONS["mp5k"] = {
WModel = "models/weapons/w_smg_mp5k.mdl", WModel = "models/weapons/w_smg_mp5k.mdl",
HoldType = "rpg", HoldType = "rpg",
GestureFire = { ACT_HL2MP_GESTURE_RANGE_ATTACK_PISTOL, 0.3 },
Sound_Fire = "MP5K.Fire", Sound_Fire = "MP5K.Fire",
Sound_DryFire = "Common.Dryfire.Rifle", Sound_DryFire = "Common.Dryfire.Rifle",
@ -367,6 +420,7 @@ WEAPONS["mp5k"] = {
Firemodes = FIREMODE_AUTOSEMI, Firemodes = FIREMODE_AUTOSEMI,
Ammo = 15, Ammo = 15,
Damage = 18, Damage = 18,
Spread = 20/60,
} }
WEAPONS["mac11"] = { WEAPONS["mac11"] = {
@ -376,6 +430,7 @@ WEAPONS["mac11"] = {
WModel = "models/weapons/w_smg_mac10.mdl", WModel = "models/weapons/w_smg_mac10.mdl",
HoldType = "revolver", HoldType = "revolver",
GestureFire = { ACT_HL2MP_GESTURE_RANGE_ATTACK_PISTOL, 0.1 },
Sound_Fire = "MAC11.Fire", Sound_Fire = "MAC11.Fire",
Sound_DryFire = "Common.Dryfire.Rifle", Sound_DryFire = "Common.Dryfire.Rifle",
@ -387,6 +442,7 @@ WEAPONS["mac11"] = {
Firemodes = FIREMODE_AUTOSEMI, Firemodes = FIREMODE_AUTOSEMI,
Ammo = 16, Ammo = 16,
Damage = 16, Damage = 16,
Spread = 30/60,
} }
WEAPONS["bizon"] = { WEAPONS["bizon"] = {
@ -396,6 +452,7 @@ WEAPONS["bizon"] = {
WModel = "models/weapons/w_smg_bizon.mdl", WModel = "models/weapons/w_smg_bizon.mdl",
HoldType = "rpg", HoldType = "rpg",
GestureFire = { ACT_HL2MP_GESTURE_RANGE_ATTACK_REVOLVER, 0.34 },
Sound_Fire = "Bizon.Fire", Sound_Fire = "Bizon.Fire",
Sound_DryFire = "Common.Dryfire.Rifle", Sound_DryFire = "Common.Dryfire.Rifle",
@ -407,6 +464,7 @@ WEAPONS["bizon"] = {
Firemodes = FIREMODE_AUTOSEMI, Firemodes = FIREMODE_AUTOSEMI,
Ammo = 40, Ammo = 40,
Damage = 16, Damage = 16,
Spread = 40/60,
} }
-- Shotguns -- Shotguns
@ -418,11 +476,41 @@ WEAPONS["spas12"] = {
WModel = "models/weapons/w_shotgun.mdl", WModel = "models/weapons/w_shotgun.mdl",
HoldType = "rpg", HoldType = "rpg",
GestureFire = { ACT_HL2MP_GESTURE_RANGE_ATTACK_CROSSBOW, 0.5 },
Delay = (60/600), Sound_Fire = "SPAS12.Fire",
Sound_DryFire = "Common.Dryfire.Rifle",
Sound_MagOut = "SPAS12.MagOut",
Sound_MagIn = "SPAS12.MagIn",
Delay = (60/120),
Firemodes = FIREMODE_SEMI, Firemodes = FIREMODE_SEMI,
Ammo = 8, Ammo = 8,
Damage = 2, Damage = 10,
Pellets = 8,
Spread = 150/60,
}
WEAPONS["aa12"] = {
Name = "AA-12",
Description = "meow",
Type = "shotgun",
WModel = "models/weapons/w_shot_br99.mdl",
HoldType = "rpg",
GestureFire = { ACT_HL2MP_GESTURE_RANGE_ATTACK_CROSSBOW, 0.5 },
Sound_Fire = "AA12.Fire",
Sound_DryFire = "Common.Dryfire.Rifle",
Sound_MagOut = "AA12.MagOut",
Sound_MagIn = "AA12.MagIn",
Delay = (60/180),
Firemodes = FIREMODE_AUTO,
Ammo = 8,
Damage = 8,
Pellets = 8,
Spread = 250/60,
} }
-- Rifles -- Rifles
@ -435,15 +523,17 @@ WEAPONS["fnc"] = {
Icon = Material( "benny/weapons/fnc.png", "smooth" ), Icon = Material( "benny/weapons/fnc.png", "smooth" ),
WModel = "models/weapons/w_rif_ar556.mdl", WModel = "models/weapons/w_rif_ar556.mdl",
HoldType = "rpg", HoldType = "rpg",
GestureFire = { ACT_HL2MP_GESTURE_RANGE_ATTACK_PISTOL, 0.3 },
Sound_Fire = "FNC.Fire", Sound_Fire = "FNC.Fire",
Sound_DryFire = "Common.Dryfire.Rifle",
Sound_MagOut = "FNC.MagOut", Sound_MagOut = "FNC.MagOut",
Sound_MagIn = "FNC.MagIn", Sound_MagIn = "FNC.MagIn",
Delay = (60/700), Delay = (60/680),
Firemodes = FIREMODE_AUTOSEMI, Firemodes = FIREMODE_AUTOSEMI,
Ammo = 30, Ammo = 30,
Damage = 2, Damage = 10,
} }
WEAPONS["m16a2"] = { WEAPONS["m16a2"] = {
@ -454,18 +544,20 @@ WEAPONS["m16a2"] = {
Icon = Material( "benny/weapons/m16a2.png", "smooth" ), Icon = Material( "benny/weapons/m16a2.png", "smooth" ),
WModel = "models/weapons/w_rif_m16a2.mdl", WModel = "models/weapons/w_rif_m16a2.mdl",
HoldType = "rpg", HoldType = "rpg",
GestureFire = { ACT_HL2MP_GESTURE_RANGE_ATTACK_PISTOL, 0.3 },
Sound_Fire = "M16A2.Fire", Sound_Fire = "M16A2.Fire",
Sound_DryFire = "Common.Dryfire.Rifle",
Sound_MagOut = "M16A2.MagOut", Sound_MagOut = "M16A2.MagOut",
Sound_MagIn = "M16A2.MagIn", Sound_MagIn = "M16A2.MagIn",
Delay = (60/1000), Delay = (60/750),
Firemodes = { Firemodes = {
{ Mode = 3 }, { Mode = 3 },
{ Mode = 1 }, { Mode = 1 },
}, },
Ammo = 30, Ammo = 30,
Damage = 2, Damage = 10,
} }
-- Machine guns -- Machine guns
@ -477,13 +569,15 @@ WEAPONS["stoner63"] = {
WModel = "models/weapons/w_mach_hk21e.mdl", WModel = "models/weapons/w_mach_hk21e.mdl",
HoldType = "rpg", HoldType = "rpg",
GestureFire = { ACT_HL2MP_GESTURE_RANGE_ATTACK_REVOLVER, 0.3 },
Sound_Fire = "FNC.Fire", Sound_Fire = "FNC.Fire",
Sound_DryFire = "Common.Dryfire.Rifle",
Sound_MagOut = "M16A2.MagOut", Sound_MagOut = "M16A2.MagOut",
Sound_MagIn = "M16A2.MagIn", Sound_MagIn = "M16A2.MagIn",
Delay = (60/700), Delay = (60/580),
Firemodes = FIREMODE_AUTOSEMI, Firemodes = FIREMODE_AUTOSEMI,
Ammo = 100, Ammo = 100,
Damage = 2, Damage = 10,
} }