Benny/gamemodes/benny/gamemode/modules/weapons/sh_weapons.lua

489 lines
12 KiB
Lua

FIREMODE_AUTO = {
{ Mode = math.huge },
}
FIREMODE_AUTOSEMI = {
{ Mode = math.huge },
{ Mode = 1 },
}
FIREMODE_SEMI = {
{ Mode = 1 },
}
WEAPONS = {}
AddSound( "1911.Fire", {
"benny/weapons/1911/01.ogg",
"benny/weapons/1911/02.ogg",
"benny/weapons/1911/03.ogg",
}, 140, 100, 0.5, CHAN_STATIC )
AddSound( "Bizon.Fire", {
"benny/weapons/bizon/01.ogg",
"benny/weapons/bizon/02.ogg",
"benny/weapons/bizon/03.ogg",
}, 140, 100, 0.5, CHAN_STATIC )
AddSound( "MP5K.Fire", {
"benny/weapons/mp5k/01.ogg",
"benny/weapons/mp5k/02.ogg",
"benny/weapons/mp5k/03.ogg",
}, 140, 100, 0.5, CHAN_STATIC )
AddSound( "MAC11.Fire", {
"benny/weapons/mac11/01.ogg",
"benny/weapons/mac11/02.ogg",
"benny/weapons/mac11/03.ogg",
}, 140, 100, 0.5, CHAN_STATIC )
AddSound( "MP7.Fire", {
"benny/weapons/mp7/01.ogg",
"benny/weapons/mp7/02.ogg",
"benny/weapons/mp7/03.ogg",
}, 140, 100, 0.5, CHAN_STATIC )
AddSound( "TMP.Fire", {
"benny/weapons/tmp/01.ogg",
"benny/weapons/tmp/02.ogg",
"benny/weapons/tmp/03.ogg",
}, 140, 100, 0.5, CHAN_STATIC )
AddSound( "Anaconda.Fire", {
"benny/weapons/anaconda/01.ogg",
"benny/weapons/anaconda/02.ogg",
"benny/weapons/anaconda/03.ogg",
}, 140, 100, 0.5, CHAN_STATIC )
AddSound( "Nambu.Fire", {
"benny/weapons/nambu/01.ogg",
"benny/weapons/nambu/02.ogg",
"benny/weapons/nambu/03.ogg",
}, 140, 100, 0.5, CHAN_STATIC )
AddSound( "USP.Fire", {
"benny/weapons/usp/01.ogg",
"benny/weapons/usp/02.ogg",
"benny/weapons/usp/03.ogg",
}, 140, 100, 0.5, CHAN_STATIC )
AddSound( "Glock.Fire", {
"benny/weapons/glock/01.ogg",
"benny/weapons/glock/02.ogg",
"benny/weapons/glock/03.ogg",
}, 140, 100, 0.5, CHAN_STATIC )
AddSound( "M16A2.Fire", {
"benny/weapons/m16a2/01.ogg",
"benny/weapons/m16a2/02.ogg",
"benny/weapons/m16a2/03.ogg",
}, 140, 100, 0.5, CHAN_STATIC )
AddSound( "FNC.Fire", {
"benny/weapons/fnc/01.ogg",
"benny/weapons/fnc/02.ogg",
"benny/weapons/fnc/03.ogg",
}, 140, 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( "MAC11.MagOut", "benny/weapons/mac11/magout.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "MAC11.MagIn", "benny/weapons/mac11/magin.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "MP7.MagOut", "benny/weapons/mp7/magout.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "MP7.MagIn", "benny/weapons/mp7/magin.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "TMP.MagOut", "benny/weapons/tmp/magout.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "TMP.MagIn", "benny/weapons/tmp/magin.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "Bizon.MagOut", "benny/weapons/bizon/magout.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "Bizon.MagIn", "benny/weapons/bizon/magin.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "Anaconda.MagOut", "benny/weapons/anaconda/magout.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "Anaconda.MagIn", "benny/weapons/anaconda/magin.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "Nambu.MagOut", "benny/weapons/nambu/magout.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "Nambu.MagIn", "benny/weapons/nambu/magin.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "1911.MagOut", "benny/weapons/1911/magout.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "1911.MagIn", "benny/weapons/1911/magin.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "USP.MagOut", "benny/weapons/usp/magout.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "USP.MagIn", "benny/weapons/usp/magin.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "Glock.MagOut", "benny/weapons/glock/magout.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "Glock.MagIn", "benny/weapons/glock/magin.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "M16A2.MagOut", "benny/weapons/m16a2/magout.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.MagIn", "benny/weapons/fnc/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.Rifle", "benny/weapons/common/06-12.ogg", 70, 100, 0.5, CHAN_STATIC )
AddSound( "Common.NoAmmo", "benny/weapons/noammo.ogg", 70, 100, 0.5, CHAN_STATIC )
WEAPONS["toolgun"] = {
Name = "TOOL GUN",
Description = "Developer development device",
Type = "special",
WModel = "models/weapons/w_toolgun.mdl",
Delay = (60/300),
Firemodes = FIREMODE_SEMI,
Ammo = 0,
Damage = 0,
Fire = function( self, slot )
if self:GetDelay1() > CurTime() then
return true
end
self:SetDelay1( CurTime() + 0.2 )
local p = self:GetOwner()
local tr = p:GetEyeTrace()
if SERVER then
local summon = ents.Create( "bnpc_human" )
-- summon:SetModel( "models/props_junk/cardboard_box001a.mdl" )
-- summon:Give( "weapon_stunstick")
summon:SetPos( tr.HitPos )
summon:Spawn()
end
if CLIENT and IsFirstTimePredicted() then
local vStart = self:GetAttachment( 1 ).Pos
local vPoint = tr.HitPos
local effectdata = EffectData()
effectdata:SetStart( vStart )
effectdata:SetOrigin( vPoint )
util.Effect( "ToolTracer", effectdata )
end
-- Return true to skip weapon logic
return true
end,
Reload = function( self, slot )
if self:GetOwner():KeyPressed( IN_RELOAD ) then
print( self )
end
-- Return true to skip weapon logic
return true
end,
}
WEAPONS["melee_bat"] = {
Name = "BAT",
Description = "meow",
Type = "melee",
WModel = "models/weapons/w_crowbar.mdl",
Delay = (60/300),
Firemodes = FIREMODE_SEMI,
Ammo = 0,
Damage = 0,
}
WEAPONS["melee_baton"] = {
Name = "BATON",
Description = "meow",
Type = "melee",
WModel = "models/weapons/w_eq_tonfa.mdl",
Delay = (60/300),
Firemodes = FIREMODE_SEMI,
Ammo = 0,
Damage = 0,
}
WEAPONS["melee_knife"] = {
Name = "KNIFE",
Description = "meow",
Type = "melee",
WModel = "models/weapons/w_knife_ct.mdl",
Delay = (60/300),
Firemodes = FIREMODE_SEMI,
Ammo = 0,
Damage = 0,
}
WEAPONS["melee_machete"] = {
Name = "MACHETE",
Description = "meow",
Type = "melee",
WModel = "models/weapons/w_crowbar.mdl",
Delay = (60/300),
Firemodes = FIREMODE_SEMI,
Ammo = 0,
Damage = 0,
}
WEAPONS["1911"] = {
Name = "COBRA .45",
Description = "Hits hard. They don't make them like they used to!",
Type = "pistol",
Icon = Material( "benny/weapons/mk23.png", "smooth" ),
WModel = "models/weapons/w_colt.mdl",
Sound_Fire = "1911.Fire",
Sound_DryFire = "Common.Dryfire.Pistol",
Sound_Reload = "1911.Reload",
Sound_MagOut = "1911.MagOut",
Sound_MagIn = "1911.MagIn",
Delay = (60/300),
Firemodes = FIREMODE_SEMI,
Ammo = 8,
Damage = 30,
}
WEAPONS["usp"] = {
Name = "MK. 23",
Description = "If it works for hardasses around the world, it'll work for you.",
Type = "pistol",
Icon = Material( "benny/weapons/mk23.png", "smooth" ),
WModel = "models/weapons/w_pist_usp.mdl",
Sound_Fire = "USP.Fire",
Sound_DryFire = "Common.Dryfire.Pistol",
Sound_Reload = "USP.Reload",
Sound_MagOut = "USP.MagOut",
Sound_MagIn = "USP.MagIn",
Delay = (60/300),
Firemodes = FIREMODE_SEMI,
Ammo = 12,
Damage = 30,
}
WEAPONS["glock"] = {
Name = "GLOCK-18",
Description = "Bullet storm. Lasts about a second or so, just like you!",
Type = "pistol",
Icon = Material( "benny/weapons/mk23.png", "smooth" ),
WModel = "models/weapons/w_pist_glock18.mdl",
Sound_Fire = "Glock.Fire",
Sound_DryFire = "Common.Dryfire.Pistol",
Sound_MagOut = "Glock.MagOut",
Sound_MagIn = "Glock.MagIn",
Delay = (60/800),
Firemodes = FIREMODE_AUTOSEMI,
Ammo = 17,
Damage = 18,
}
WEAPONS["nambu"] = {
Name = "NAMBU .38",
Description = "Eastern revolver that hits as hard as it costs.",
Type = "pistol",
Icon = Material( "benny/weapons/mk23.png", "smooth" ),
WModel = "models/weapons/w_pist_derringer.mdl",
Sound_Fire = "Nambu.Fire",
Sound_DryFire = "Common.Dryfire.Pistol",
Sound_MagOut = "Nambu.MagOut",
Sound_MagIn = "Nambu.MagIn",
Delay = (60/180),
Firemodes = FIREMODE_SEMI,
Ammo = 6,
Damage = 26,
}
WEAPONS["anaconda"] = {
Name = "ANACONDA",
Description = "Precise and kicks like a mule.",
Type = "pistol",
Icon = Material( "benny/weapons/mk23.png", "smooth" ),
WModel = "models/weapons/w_357.mdl",
Sound_Fire = "Anaconda.Fire",
Sound_DryFire = "Common.Dryfire.Pistol",
Sound_MagOut = "Anaconda.MagOut",
Sound_MagIn = "Anaconda.MagIn",
Delay = (60/180),
Firemodes = FIREMODE_SEMI,
Ammo = 6,
Damage = 40,
}
WEAPONS["tmp"] = {
Name = "TMP",
Description = "Small, compact, and fast.",
Type = "smg",
WModel = "models/weapons/w_smg_tmp_us.mdl",
HoldType = "rpg",
Sound_Fire = "TMP.Fire",
Sound_DryFire = "Common.Dryfire.Rifle",
Sound_Reload = "TMP.Reload",
Sound_MagOut = "TMP.MagOut",
Sound_MagIn = "TMP.MagIn",
Delay = (60/700),
Firemodes = FIREMODE_AUTOSEMI,
Ammo = 15,
Damage = 18,
}
WEAPONS["mp7"] = {
Name = "MP7",
Description = "Small, pistol-sized.",
Type = "smg",
WModel = "models/weapons/w_smg1.mdl",
HoldType = "rpg",
Sound_Fire = "MP7.Fire",
Sound_DryFire = "Common.Dryfire.Rifle",
Sound_Reload = "MP7.Reload",
Sound_MagOut = "MP7.MagOut",
Sound_MagIn = "MP7.MagIn",
Delay = (60/700),
Firemodes = FIREMODE_AUTOSEMI,
Ammo = 20,
Damage = 16,
}
WEAPONS["mp5k"] = {
Name = "MP5K",
Description = "Quality manufacturing, but cumbersome.",
Type = "smg",
WModel = "models/weapons/w_smg_mp5k.mdl",
HoldType = "rpg",
Sound_Fire = "MP5K.Fire",
Sound_DryFire = "Common.Dryfire.Rifle",
Sound_Reload = "MP5K.Reload",
Sound_MagOut = "MP5K.MagOut",
Sound_MagIn = "MP5K.MagIn",
Delay = (60/700),
Firemodes = FIREMODE_AUTOSEMI,
Ammo = 15,
Damage = 18,
}
WEAPONS["mac11"] = {
Name = "MAC-11",
Description = "More fit for combat in a phone booth.",
Type = "smg",
WModel = "models/weapons/w_smg_mac10.mdl",
HoldType = "revolver",
Sound_Fire = "MAC11.Fire",
Sound_DryFire = "Common.Dryfire.Rifle",
Sound_Reload = "MAC11.Reload",
Sound_MagOut = "MAC11.MagOut",
Sound_MagIn = "MAC11.MagIn",
Delay = (60/800),
Firemodes = FIREMODE_AUTOSEMI,
Ammo = 16,
Damage = 16,
}
WEAPONS["bizon"] = {
Name = "BIZON",
Description = "Unwieldy bullet storm.",
Type = "smg",
WModel = "models/weapons/w_smg_bizon.mdl",
HoldType = "rpg",
Sound_Fire = "Bizon.Fire",
Sound_DryFire = "Common.Dryfire.Rifle",
Sound_Reload = "Bizon.Reload",
Sound_MagOut = "Bizon.MagOut",
Sound_MagIn = "Bizon.MagIn",
Delay = (60/600),
Firemodes = FIREMODE_AUTOSEMI,
Ammo = 40,
Damage = 16,
}
-- Shotguns
WEAPONS["spas12"] = {
Name = "SPAS-12",
Description = "meow",
Type = "shotgun",
WModel = "models/weapons/w_shotgun.mdl",
HoldType = "rpg",
Delay = (60/600),
Firemodes = FIREMODE_SEMI,
Ammo = 8,
Damage = 2,
}
-- Rifles
WEAPONS["fnc"] = {
Name = "FNC PARA",
Description = "meow",
Type = "rifle",
Icon = Material( "benny/weapons/fnc.png", "smooth" ),
WModel = "models/weapons/w_rif_ar556.mdl",
HoldType = "rpg",
Sound_Fire = "FNC.Fire",
Sound_MagOut = "FNC.MagOut",
Sound_MagIn = "FNC.MagIn",
Delay = (60/700),
Firemodes = FIREMODE_AUTOSEMI,
Ammo = 30,
Damage = 2,
}
WEAPONS["m16a2"] = {
Name = "M16A2",
Description = "meow",
Type = "rifle",
Icon = Material( "benny/weapons/m16a2.png", "smooth" ),
WModel = "models/weapons/w_rif_m16a2.mdl",
HoldType = "rpg",
Sound_Fire = "M16A2.Fire",
Sound_MagOut = "M16A2.MagOut",
Sound_MagIn = "M16A2.MagIn",
Delay = (60/1000),
Firemodes = {
{ Mode = 3 },
{ Mode = 1 },
},
Ammo = 30,
Damage = 2,
}
-- Machine guns
WEAPONS["stoner63"] = {
Name = "STONER 63",
Description = "meow",
Type = "machinegun",
WModel = "models/weapons/w_mach_hk21e.mdl",
HoldType = "rpg",
Sound_Fire = "FNC.Fire",
Sound_MagOut = "M16A2.MagOut",
Sound_MagIn = "M16A2.MagIn",
Delay = (60/700),
Firemodes = FIREMODE_AUTOSEMI,
Ammo = 100,
Damage = 2,
}