More weapon system tweaks
This commit is contained in:
parent
17d21e13ae
commit
15464b9af7
|
@ -17,7 +17,7 @@ end
|
||||||
function ENT:Use( activator )
|
function ENT:Use( activator )
|
||||||
if ( activator:IsPlayer() ) then
|
if ( activator:IsPlayer() ) then
|
||||||
local wep = activator:GetActiveWeapon()
|
local wep = activator:GetActiveWeapon()
|
||||||
local bt, bc = wep:BTable(), wep:BClass()
|
local bt, bc = wep:bWepTable(), wep:bWepClass()
|
||||||
for i=1, 3 do
|
for i=1, 3 do
|
||||||
-- if bt["Ammo" .. i] and bt.Loaded != i then
|
-- if bt["Ammo" .. i] and bt.Loaded != i then
|
||||||
-- bt["Ammo" .. i] = bc.Ammo
|
-- bt["Ammo" .. i] = bc.Ammo
|
||||||
|
|
|
@ -2,7 +2,7 @@ function SWEP:DrawWorldModel()
|
||||||
local p = self:GetOwner()
|
local p = self:GetOwner()
|
||||||
do
|
do
|
||||||
local wm = self.CWM
|
local wm = self.CWM
|
||||||
local class = self:BClass( false )
|
local class = self:bWepClass( false )
|
||||||
if class then
|
if class then
|
||||||
if !IsValid(wm) then
|
if !IsValid(wm) then
|
||||||
wm = ClientsideModel( class.WModel )
|
wm = ClientsideModel( class.WModel )
|
||||||
|
@ -19,7 +19,7 @@ function SWEP:DrawWorldModel()
|
||||||
end
|
end
|
||||||
do
|
do
|
||||||
local wm = self.CWM_Left
|
local wm = self.CWM_Left
|
||||||
local class = self:BClass( true )
|
local class = self:bWepClass( true )
|
||||||
if class then
|
if class then
|
||||||
if !IsValid(wm) then
|
if !IsValid(wm) then
|
||||||
wm = ClientsideModel( class.WModel )
|
wm = ClientsideModel( class.WModel )
|
||||||
|
|
|
@ -21,10 +21,10 @@ function SWEP:SecondaryAttack()
|
||||||
end
|
end
|
||||||
|
|
||||||
function SWEP:BFire( hand )
|
function SWEP:BFire( hand )
|
||||||
if self:BTable( hand ) and self:GetAim() == 1 then
|
if self:bWepTable( hand ) and self:GetAim() == 1 then
|
||||||
local p = self:GetOwner()
|
local p = self:GetOwner()
|
||||||
local wep_table = self:BTable( hand )
|
local wep_table = self:bWepTable( hand )
|
||||||
local wep_class = self:BClass( hand )
|
local wep_class = self:bWepClass( hand )
|
||||||
|
|
||||||
if wep_class.Custom_Fire then
|
if wep_class.Custom_Fire then
|
||||||
if wep_class.Custom_Fire( self, wep_table, wep_class, hand ) then return end
|
if wep_class.Custom_Fire( self, wep_table, wep_class, hand ) then return end
|
||||||
|
@ -78,7 +78,7 @@ end
|
||||||
local bc = { effects = true, damage = true }
|
local bc = { effects = true, damage = true }
|
||||||
function SWEP:CallFire( hand )
|
function SWEP:CallFire( hand )
|
||||||
local p = self:GetOwner()
|
local p = self:GetOwner()
|
||||||
local class = self:BClass( hand )
|
local class = self:bWepClass( hand )
|
||||||
local spread = self:BSpread( hand )
|
local spread = self:BSpread( hand )
|
||||||
for i=1, self:GetStat( hand, "Pellets" ) do
|
for i=1, self:GetStat( hand, "Pellets" ) do
|
||||||
local dir = self:GetOwner():EyeAngles()
|
local dir = self:GetOwner():EyeAngles()
|
||||||
|
|
|
@ -114,7 +114,7 @@ SWEP.GestureDraw = { ACT_GMOD_GESTURE_MELEE_SHOVE_1HAND, 0.75 }
|
||||||
SWEP.GestureHolster = { ACT_GMOD_GESTURE_MELEE_SHOVE_1HAND, 0.65 }
|
SWEP.GestureHolster = { ACT_GMOD_GESTURE_MELEE_SHOVE_1HAND, 0.65 }
|
||||||
function SWEP:TPFire( hand )
|
function SWEP:TPFire( hand )
|
||||||
if CLIENT and !IsFirstTimePredicted() then return end
|
if CLIENT and !IsFirstTimePredicted() then return end
|
||||||
local target = self:BClass( hand ) and self:BClass( hand ).GestureFire
|
local target = self:bWepClass( hand ) and self:bWepClass( hand ).GestureFire
|
||||||
if !target then
|
if !target then
|
||||||
target = self.GestureFire
|
target = self.GestureFire
|
||||||
end
|
end
|
||||||
|
@ -122,7 +122,7 @@ function SWEP:TPFire( hand )
|
||||||
end
|
end
|
||||||
function SWEP:TPReload( hand )
|
function SWEP:TPReload( hand )
|
||||||
if CLIENT and !IsFirstTimePredicted() then return end
|
if CLIENT and !IsFirstTimePredicted() then return end
|
||||||
local target = self:BClass( hand ) and self:BClass( hand ).GestureReload
|
local target = self:bWepClass( hand ) and self:bWepClass( hand ).GestureReload
|
||||||
if !target then
|
if !target then
|
||||||
target = self.GestureReload
|
target = self.GestureReload
|
||||||
end
|
end
|
||||||
|
@ -130,7 +130,7 @@ function SWEP:TPReload( hand )
|
||||||
end
|
end
|
||||||
function SWEP:TPDraw( hand )
|
function SWEP:TPDraw( hand )
|
||||||
if CLIENT and !IsFirstTimePredicted() then return end
|
if CLIENT and !IsFirstTimePredicted() then return end
|
||||||
local target = self:BClass( hand ) and self:BClass( hand ).GestureDraw
|
local target = self:bWepClass( hand ) and self:bWepClass( hand ).GestureDraw
|
||||||
if !target then
|
if !target then
|
||||||
target = self.GestureDraw
|
target = self.GestureDraw
|
||||||
end
|
end
|
||||||
|
@ -138,7 +138,7 @@ function SWEP:TPDraw( hand )
|
||||||
end
|
end
|
||||||
function SWEP:TPHolster( hand )
|
function SWEP:TPHolster( hand )
|
||||||
if CLIENT and !IsFirstTimePredicted() then return end
|
if CLIENT and !IsFirstTimePredicted() then return end
|
||||||
local target = self:BClass( hand ) and self:BClass( hand ).GestureHolster
|
local target = self:bWepClass( hand ) and self:bWepClass( hand ).GestureHolster
|
||||||
if !target then
|
if !target then
|
||||||
target = self.GestureHolster
|
target = self.GestureHolster
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,22 +1,22 @@
|
||||||
|
|
||||||
function SWEP:GetStat( hand, stat )
|
function SWEP:GetStat( hand, stat )
|
||||||
local Hand = ((hand==true and "Left Hand") or (hand==false and "Right Hand"))
|
local Hand = ((hand==true and "Left Hand") or (hand==false and "Right Hand"))
|
||||||
assert( self:BClass( hand ), "No weapon in " .. Hand .. " (Trying to get stat " .. stat .. ")" )
|
assert( self:bWepClass( hand ), "No weapon in " .. Hand .. " (Trying to get stat " .. stat .. ")" )
|
||||||
local thereturn = (self:BClass( hand ) and self:BClass( hand )[stat])
|
local thereturn = (self:bWepClass( hand ) and self:bWepClass( hand )[stat])
|
||||||
assert( thereturn, "No stat for " .. stat .. " ( " .. Hand .. " )" )
|
assert( thereturn, "No stat for " .. stat .. " ( " .. Hand .. " )" )
|
||||||
return thereturn
|
return thereturn
|
||||||
end
|
end
|
||||||
|
|
||||||
function BENNY_GetStat( class, stat )
|
function BENNY_GetStat( class, stat )
|
||||||
assert( class, "No class" )
|
assert( class, "No class" )
|
||||||
local thereturn = (class[stat] or fallbackstat[stat])
|
local thereturn = class[stat]
|
||||||
assert( thereturn, "No stat for " .. stat )
|
assert( thereturn, "No stat for " .. stat )
|
||||||
return thereturn
|
return thereturn
|
||||||
end
|
end
|
||||||
|
|
||||||
function SWEP:C_DualCheck()
|
function SWEP:C_DualCheck()
|
||||||
local p = self:GetOwner()
|
local p = self:GetOwner()
|
||||||
local lt = self:BClass( true )
|
local lt = self:bWepClass( true )
|
||||||
if lt then
|
if lt then
|
||||||
if lt.Features == "firearm" then
|
if lt.Features == "firearm" then
|
||||||
return p:GetInfoNum( "benny_wep_ao_firearms", 1 )==1
|
return p:GetInfoNum( "benny_wep_ao_firearms", 1 )==1
|
||||||
|
@ -77,7 +77,7 @@ function SWEP:BHolster( hand )
|
||||||
|
|
||||||
local p = self:GetOwner()
|
local p = self:GetOwner()
|
||||||
--B_Sound( self, "Common.Holster" )
|
--B_Sound( self, "Common.Holster" )
|
||||||
local item = self:BTable( hand )
|
local item = self:bWepTable( hand )
|
||||||
if item then
|
if item then
|
||||||
local class = WeaponGet(item.Class)
|
local class = WeaponGet(item.Class)
|
||||||
if class.Custom_Holster then class.Custom_Holster( self, item, class, hand ) end
|
if class.Custom_Holster then class.Custom_Holster( self, item, class, hand ) end
|
||||||
|
@ -89,6 +89,6 @@ function SWEP:BHolster( hand )
|
||||||
end
|
end
|
||||||
|
|
||||||
function SWEP:BSpread( hand )
|
function SWEP:BSpread( hand )
|
||||||
return self:BClass( hand ).Spread + self:bGetSpread( hand )
|
return self:bWepClass( hand ).Spread + self:bGetSpread( hand )
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,8 @@ function SWEP:Reload( hand )
|
||||||
if hand == nil then return end -- Needs to be called from the custom ones
|
if hand == nil then return end -- Needs to be called from the custom ones
|
||||||
local p = self:GetOwner()
|
local p = self:GetOwner()
|
||||||
local inv = p:INV_Get()
|
local inv = p:INV_Get()
|
||||||
local wep_table = self:BTable( hand )
|
local wep_table = self:bWepTable( hand )
|
||||||
local wep_class = self:BClass( hand )
|
local wep_class = self:bWepClass( hand )
|
||||||
if wep_table then
|
if wep_table then
|
||||||
if wep_class.Custom_Reload then
|
if wep_class.Custom_Reload then
|
||||||
if wep_class.Custom_Reload( self, wep_table ) then return end
|
if wep_class.Custom_Reload( self, wep_table ) then return end
|
||||||
|
@ -53,8 +53,8 @@ end
|
||||||
function SWEP:Reload_MagOut( hand, curmag, optinv, optwep_table, optwep_class )
|
function SWEP:Reload_MagOut( hand, curmag, optinv, optwep_table, optwep_class )
|
||||||
local p = self:GetOwner()
|
local p = self:GetOwner()
|
||||||
local inv = optinv or p:INV_Get()
|
local inv = optinv or p:INV_Get()
|
||||||
local wep_table = optwep_table or self:BTable( hand )
|
local wep_table = optwep_table or self:bWepTable( hand )
|
||||||
local wep_class = optwep_class or self:BClass( hand )
|
local wep_class = optwep_class or self:bWepClass( hand )
|
||||||
|
|
||||||
if !inv[curmag] then
|
if !inv[curmag] then
|
||||||
-- PROTO: This happens sometimes. I'm commenting it so it doesn't look like anything broke, because it didn't.
|
-- PROTO: This happens sometimes. I'm commenting it so it doesn't look like anything broke, because it didn't.
|
||||||
|
@ -76,7 +76,7 @@ end
|
||||||
function SWEP:GetLoadableMagazines( hand, class, optinv, optwep_table )
|
function SWEP:GetLoadableMagazines( hand, class, optinv, optwep_table )
|
||||||
local p = self:GetOwner()
|
local p = self:GetOwner()
|
||||||
local inv = optinv or p:INV_Get()
|
local inv = optinv or p:INV_Get()
|
||||||
local wep_table = optwep_table or self:BTable( hand )
|
local wep_table = optwep_table or self:bWepTable( hand )
|
||||||
local maglist = p:INV_FindMag( wep_table.Class )
|
local maglist = p:INV_FindMag( wep_table.Class )
|
||||||
|
|
||||||
local usedlist = {}
|
local usedlist = {}
|
||||||
|
@ -92,7 +92,7 @@ end
|
||||||
function SWEP:GetBestLoadableMagazine( hand, class, optinv, optwep_table )
|
function SWEP:GetBestLoadableMagazine( hand, class, optinv, optwep_table )
|
||||||
local p = self:GetOwner()
|
local p = self:GetOwner()
|
||||||
local inv = optinv or p:INV_Get()
|
local inv = optinv or p:INV_Get()
|
||||||
local wep_table = optwep_table or self:BTable( hand )
|
local wep_table = optwep_table or self:bWepTable( hand )
|
||||||
local maglist = p:INV_FindMag( wep_table.Class )
|
local maglist = p:INV_FindMag( wep_table.Class )
|
||||||
local mag = false
|
local mag = false
|
||||||
|
|
||||||
|
@ -117,8 +117,8 @@ end
|
||||||
function SWEP:Reload_MagIn( hand, curmag, optinv, optwep_table, optwep_class )
|
function SWEP:Reload_MagIn( hand, curmag, optinv, optwep_table, optwep_class )
|
||||||
local p = self:GetOwner()
|
local p = self:GetOwner()
|
||||||
local inv = optinv or p:INV_Get()
|
local inv = optinv or p:INV_Get()
|
||||||
local wep_table = optwep_table or self:BTable( hand )
|
local wep_table = optwep_table or self:bWepTable( hand )
|
||||||
local wep_class = optwep_class or self:BClass( hand )
|
local wep_class = optwep_class or self:bWepClass( hand )
|
||||||
local mag = self:GetBestLoadableMagazine( hand, wep_table.Class )
|
local mag = self:GetBestLoadableMagazine( hand, wep_table.Class )
|
||||||
|
|
||||||
if mag then
|
if mag then
|
||||||
|
|
|
@ -1,6 +1,32 @@
|
||||||
|
|
||||||
-- Stat2
|
-- Stat2
|
||||||
|
|
||||||
|
function SWEP:bWepTable( alt )
|
||||||
|
return self:GetOwner():INV_Get()[ ((alt==true) and self:GetWep2()) or ((alt==false) and self:GetWep1()) ]
|
||||||
|
end
|
||||||
|
|
||||||
|
function SWEP:bWepClass( alt )
|
||||||
|
local ta = self:bWepTable( alt )
|
||||||
|
if ta then
|
||||||
|
return WeaponGet( ta.Class )
|
||||||
|
else
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function SWEP:bMagTable( alt )
|
||||||
|
return self:GetOwner():INV_Get()[ ((alt==true) and self:GetWep2_Clip()) or ((alt==false) and self:GetWep1_Clip()) ]
|
||||||
|
end
|
||||||
|
|
||||||
|
function SWEP:bMagClass( alt )
|
||||||
|
local ta = self:bMagTable( alt )
|
||||||
|
if ta then
|
||||||
|
return WeaponGet( ta.Class )
|
||||||
|
else
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- Weapon ID
|
-- Weapon ID
|
||||||
function SWEP:bGetInvID( hand )
|
function SWEP:bGetInvID( hand )
|
||||||
assert( hand!=nil, "Missing hand argument" )
|
assert( hand!=nil, "Missing hand argument" )
|
||||||
|
|
|
@ -28,7 +28,7 @@ else
|
||||||
else
|
else
|
||||||
data = net.ReadDouble()
|
data = net.ReadDouble()
|
||||||
end
|
end
|
||||||
LocalPlayer():GetActiveWeapon():BTable()[stat] = data
|
LocalPlayer():GetActiveWeapon():bWepTable()[stat] = data
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
end
|
end
|
|
@ -73,20 +73,6 @@ function SWEP:SetupDataTables()
|
||||||
self:SetWep2_Reloading( -1 )
|
self:SetWep2_Reloading( -1 )
|
||||||
end
|
end
|
||||||
|
|
||||||
-- BENNY shit
|
|
||||||
function SWEP:BTable( alt )
|
|
||||||
return self:GetOwner():INV_Get()[ alt and self:GetWep2() or self:GetWep1() ]
|
|
||||||
end
|
|
||||||
|
|
||||||
function SWEP:BClass( alt )
|
|
||||||
local ta = self:BTable( alt )
|
|
||||||
if ta then
|
|
||||||
return WeaponGet( ta.Class )
|
|
||||||
else
|
|
||||||
return false
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function SWEP:B_Ammo( hand, value )
|
function SWEP:B_Ammo( hand, value )
|
||||||
local p = self:GetOwner()
|
local p = self:GetOwner()
|
||||||
local inv = p:INV_Get()
|
local inv = p:INV_Get()
|
||||||
|
@ -96,7 +82,7 @@ function SWEP:B_Ammo( hand, value )
|
||||||
end
|
end
|
||||||
|
|
||||||
function SWEP:B_Firemode( alt )
|
function SWEP:B_Firemode( alt )
|
||||||
return self:BClass( alt ).Firemodes[ self:bGetFiremode( alt ) ]
|
return self:bWepClass( alt ).Firemodes[ self:bGetFiremode( alt ) ]
|
||||||
end
|
end
|
||||||
|
|
||||||
function SWEP:B_FiremodeName( alt )
|
function SWEP:B_FiremodeName( alt )
|
||||||
|
@ -175,10 +161,10 @@ function SWEP:Think()
|
||||||
local p = self:GetOwner()
|
local p = self:GetOwner()
|
||||||
local inv = p:INV_Get()
|
local inv = p:INV_Get()
|
||||||
|
|
||||||
local wep1 = self:BTable( false )
|
local wep1 = self:bWepTable( false )
|
||||||
local wep1c = self:BClass( false )
|
local wep1c = self:bWepClass( false )
|
||||||
local wep2 = self:BTable( true )
|
local wep2 = self:bWepTable( true )
|
||||||
local wep2c = self:BClass( true )
|
local wep2c = self:bWepClass( true )
|
||||||
|
|
||||||
if self:bGetReqInvID( false ) != "" and self:bGetReqInvID( true ) != "" and self:bGetReqInvID( false ) == self:bGetReqInvID( true ) then
|
if self:bGetReqInvID( false ) != "" and self:bGetReqInvID( true ) != "" and self:bGetReqInvID( false ) == self:bGetReqInvID( true ) then
|
||||||
self:bSetReqInvID( false, "" )
|
self:bSetReqInvID( false, "" )
|
||||||
|
@ -199,7 +185,7 @@ function SWEP:Think()
|
||||||
-- Just know, this feels bad.
|
-- Just know, this feels bad.
|
||||||
if self:bGetReloadTime( hand ) > 0 then
|
if self:bGetReloadTime( hand ) > 0 then
|
||||||
-- hold
|
-- hold
|
||||||
elseif self:BClass( hand ) and self:bGetShotTime( hand ) + self:GetStat( hand, "ShootHolsterTime" ) > CurTime() then
|
elseif self:bWepClass( hand ) and self:bGetShotTime( hand ) + self:GetStat( hand, "ShootHolsterTime" ) > CurTime() then
|
||||||
-- hold
|
-- hold
|
||||||
else
|
else
|
||||||
if curr != "" then
|
if curr != "" then
|
||||||
|
@ -252,7 +238,7 @@ function SWEP:Think()
|
||||||
|
|
||||||
for i=1, 2 do
|
for i=1, 2 do
|
||||||
local hand = i==2
|
local hand = i==2
|
||||||
local wep, wepc = self:BTable( hand ), self:BClass( hand )
|
local wep, wepc = self:bWepTable( hand ), self:bWepClass( hand )
|
||||||
if wepc and wepc.Features == "firearm" and self:bGetIntDelay( hand ) < CurTime()-0.01 then
|
if wepc and wepc.Features == "firearm" and self:bGetIntDelay( hand ) < CurTime()-0.01 then
|
||||||
local mweh = math.Remap( CurTime(), self:bGetShotTime( hand ), self:bGetShotTime( hand ) + self:GetStat( hand, "SpreadDecay_RampTime" ), 0, 1 )
|
local mweh = math.Remap( CurTime(), self:bGetShotTime( hand ), self:bGetShotTime( hand ) + self:GetStat( hand, "SpreadDecay_RampTime" ), 0, 1 )
|
||||||
mweh = math.Clamp( mweh, 0, 1 )
|
mweh = math.Clamp( mweh, 0, 1 )
|
||||||
|
@ -262,10 +248,10 @@ function SWEP:Think()
|
||||||
end
|
end
|
||||||
|
|
||||||
local ht = "normal"
|
local ht = "normal"
|
||||||
if self:BClass( false ) and self:bGetHolsterTime( false ) < 0 then
|
if self:bWepClass( false ) and self:bGetHolsterTime( false ) < 0 then
|
||||||
ht = "passive"
|
ht = "passive"
|
||||||
if self:GetUserAim() then
|
if self:GetUserAim() then
|
||||||
if self:BClass( true ) then
|
if self:bWepClass( true ) then
|
||||||
ht = "duel"
|
ht = "duel"
|
||||||
else
|
else
|
||||||
ht = self:GetStat( false, "HoldType" )
|
ht = self:GetStat( false, "HoldType" )
|
||||||
|
@ -281,9 +267,9 @@ function SWEP:Think()
|
||||||
|
|
||||||
for i=1, 2 do
|
for i=1, 2 do
|
||||||
local hand = i==2
|
local hand = i==2
|
||||||
if self:BClass( hand ) then
|
if self:bWepClass( hand ) then
|
||||||
if self:BClass( hand ).Custom_Think then
|
if self:bWepClass( hand ).Custom_Think then
|
||||||
self:BClass( hand ).Custom_Think( self, self:BTable( hand ), self:BClass( hand ), hand )
|
self:bWepClass( hand ).Custom_Think( self, self:bWepTable( hand ), self:bWepClass( hand ), hand )
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -14,15 +14,15 @@ local function regen_items( itemlist )
|
||||||
local class = inv[v].Class
|
local class = inv[v].Class
|
||||||
local Class = WeaponGet(class)
|
local Class = WeaponGet(class)
|
||||||
|
|
||||||
if !catesmade[Class.Type] then
|
if !catesmade[Class.Category] then
|
||||||
catesmade[Class.Type] = true
|
catesmade[Class.Category] = true
|
||||||
local cate = vgui.Create( "DButton" )
|
local cate = vgui.Create( "DButton" )
|
||||||
itemlist:AddItem( cate )
|
itemlist:AddItem( cate )
|
||||||
cate:SetSize( 1, ss(12) )
|
cate:SetSize( 1, ss(12) )
|
||||||
cate:Dock( TOP )
|
cate:Dock( TOP )
|
||||||
cate:DockMargin( 0, 0, 0, ss(2) )
|
cate:DockMargin( 0, 0, 0, ss(2) )
|
||||||
|
|
||||||
cate.Text_Name = Class.Type
|
cate.Text_Name = Class.Category
|
||||||
|
|
||||||
function cate:Paint( w, h )
|
function cate:Paint( w, h )
|
||||||
surface.SetDrawColor( schemes[active]["bg"] )
|
surface.SetDrawColor( schemes[active]["bg"] )
|
||||||
|
|
|
@ -64,7 +64,7 @@ local mewer = {
|
||||||
score_1 = rmt1c( BENNY_GetStat( class, "Damage" ) * truedelay, 100, 350 )
|
score_1 = rmt1c( BENNY_GetStat( class, "Damage" ) * truedelay, 100, 350 )
|
||||||
score_1 = score_1 * weight_1
|
score_1 = score_1 * weight_1
|
||||||
|
|
||||||
score_2 = rmt1c( BENNY_GetStat( class, "Ammo" ), 16, 42 )
|
score_2 = rmt1c( BENNY_GetStat( class, "AmmoStd" ), 16, 42 )
|
||||||
score_2 = score_2 * weight_2
|
score_2 = score_2 * weight_2
|
||||||
|
|
||||||
return score_1 + score_2
|
return score_1 + score_2
|
||||||
|
@ -339,7 +339,7 @@ function OpenSMenu()
|
||||||
surface.SetDrawColor( schema("fg") )
|
surface.SetDrawColor( schema("fg") )
|
||||||
surface.DrawRect( 0, 0, w, h )
|
surface.DrawRect( 0, 0, w, h )
|
||||||
|
|
||||||
draw.SimpleText( BENNY_GetStat( hm, "Ammo" ) .. " rounds", "Benny_12", ss(2), ss(2), schema_c("bg") )
|
draw.SimpleText( BENNY_GetStat( hm, "AmmoStd" ) .. " rounds", "Benny_12", ss(2), ss(2), schema_c("bg") )
|
||||||
end
|
end
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
@ -381,11 +381,12 @@ function OpenSMenu()
|
||||||
local createlist = {}
|
local createlist = {}
|
||||||
|
|
||||||
for ClassName, Class in pairs( WEAPONS ) do
|
for ClassName, Class in pairs( WEAPONS ) do
|
||||||
if !createlist[Class.Type] then
|
if !createlist[Class.Category] then
|
||||||
createlist[Class.Type] = {}
|
print(Class, Class.Category)
|
||||||
|
createlist[Class.Category] = {}
|
||||||
end
|
end
|
||||||
|
|
||||||
table.insert( createlist[Class.Type], { ClassName = ClassName, Class = Class } )
|
table.insert( createlist[Class.Category], { ClassName = ClassName, Class = Class } )
|
||||||
end
|
end
|
||||||
|
|
||||||
for i, v in SortedPairs( createlist ) do
|
for i, v in SortedPairs( createlist ) do
|
||||||
|
|
|
@ -291,7 +291,7 @@ hook.Add( "CalcView", "Benny_CalcView", function( ply, pos, ang, fov )
|
||||||
|
|
||||||
local wep = ply:BennyCheck()
|
local wep = ply:BennyCheck()
|
||||||
if wep then -- and ply:GetActiveWeapon():GetAim() > 0 then
|
if wep then -- and ply:GetActiveWeapon():GetAim() > 0 then
|
||||||
local cv = wep:BClass( true ) and wep:BClass( true ).Custom_CalcView or wep:BClass( false ) and wep:BClass( false ).Custom_CalcView
|
local cv = wep:bWepClass( true ) and wep:bWepClass( true ).Custom_CalcView or wep:bWepClass( false ) and wep:bWepClass( false ).Custom_CalcView
|
||||||
local halt = false
|
local halt = false
|
||||||
if cv then
|
if cv then
|
||||||
halt = cv( wep, view, view.origin, view.angles, view.fov )
|
halt = cv( wep, view, view.origin, view.angles, view.fov )
|
||||||
|
|
|
@ -487,16 +487,16 @@ hook.Add( "HUDPaint", "Benny_HUDPaint", function()
|
||||||
|
|
||||||
if wep and ConVarCL_Bool("hud_enable_active") then -- Weapon
|
if wep and ConVarCL_Bool("hud_enable_active") then -- Weapon
|
||||||
local inv = p:INV_Get()
|
local inv = p:INV_Get()
|
||||||
local wep1 = wep:BTable( false )
|
local wep1 = wep:bWepTable( false )
|
||||||
local wep1c = wep:BClass( false )
|
local wep1c = wep:bWepClass( false )
|
||||||
local wep2 = wep:BTable( true )
|
local wep2 = wep:bWepTable( true )
|
||||||
local wep2c = wep:BClass( true )
|
local wep2c = wep:bWepClass( true )
|
||||||
|
|
||||||
for i=1, 2 do
|
for i=1, 2 do
|
||||||
local hand = i==2
|
local hand = i==2
|
||||||
if wep:BTable( hand ) then -- New Weapon HUD
|
if wep:bWepTable( hand ) then -- New Weapon HUD
|
||||||
local wep_table = wep:BTable( hand )
|
local wep_table = wep:bWepTable( hand )
|
||||||
local wep_class = wep:BClass( hand )
|
local wep_class = wep:bWepClass( hand )
|
||||||
|
|
||||||
local p_w, p_h = ss(156), ss(64)
|
local p_w, p_h = ss(156), ss(64)
|
||||||
local p_x, p_y = sw - p_w - Wb, Hb
|
local p_x, p_y = sw - p_w - Wb, Hb
|
||||||
|
@ -514,7 +514,7 @@ hook.Add( "HUDPaint", "Benny_HUDPaint", function()
|
||||||
|
|
||||||
draw.SimpleText( wep_class.Name, "Benny_16", p_x+ss(6), p_y+ss(5), scheme["bg"], TEXT_ALIGN_LEFT, TEXT_ALIGN_TOP )
|
draw.SimpleText( wep_class.Name, "Benny_16", p_x+ss(6), p_y+ss(5), scheme["bg"], TEXT_ALIGN_LEFT, TEXT_ALIGN_TOP )
|
||||||
|
|
||||||
local identicallist = p:INV_Find( wep:BTable( hand ).Class )
|
local identicallist = p:INV_Find( wep:bWepTable( hand ).Class )
|
||||||
identicallist = table.Flip( identicallist )
|
identicallist = table.Flip( identicallist )
|
||||||
local numba = identicallist[ wep:bGetInvID( hand ) ]
|
local numba = identicallist[ wep:bGetInvID( hand ) ]
|
||||||
draw.SimpleText( "#" .. tostring(numba) .. ", " .. wep:bGetInvID( hand ), "Benny_10", p_x+p_w-pb2, p_y+ss(7), scheme["bg"], TEXT_ALIGN_RIGHT, TEXT_ALIGN_TOP )
|
draw.SimpleText( "#" .. tostring(numba) .. ", " .. wep:bGetInvID( hand ), "Benny_10", p_x+p_w-pb2, p_y+ss(7), scheme["bg"], TEXT_ALIGN_RIGHT, TEXT_ALIGN_TOP )
|
||||||
|
@ -649,11 +649,11 @@ hook.Add( "HUDPaint", "Benny_HUDPaint", function()
|
||||||
|
|
||||||
for hhhh=1, 2 do
|
for hhhh=1, 2 do
|
||||||
local hand = hhhh==2
|
local hand = hhhh==2
|
||||||
if wep:GetUserAim() and wep:BClass( hand ) then -- Crosshair
|
if wep:GetUserAim() and wep:bWepClass( hand ) then -- Crosshair
|
||||||
local s, w, h = ss, ScrW(), ScrH()
|
local s, w, h = ss, ScrW(), ScrH()
|
||||||
|
|
||||||
local gap = gap
|
local gap = gap
|
||||||
if wep:BClass( hand ).Spread then
|
if wep:bWepClass( hand ).Spread then
|
||||||
gap = gap * wep:BSpread( hand )
|
gap = gap * wep:BSpread( hand )
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -665,7 +665,7 @@ hook.Add( "HUDPaint", "Benny_HUDPaint", function()
|
||||||
local mat1 = i == 1 and mat_long_s or mat_long
|
local mat1 = i == 1 and mat_long_s or mat_long
|
||||||
local mat2 = i == 1 and mat_dot_s or mat_dot
|
local mat2 = i == 1 and mat_dot_s or mat_dot
|
||||||
surface.SetDrawColor( cooler )
|
surface.SetDrawColor( cooler )
|
||||||
local typ = wep:BClass( hand ).Type
|
local typ = wep:bWepClass( hand ).Category
|
||||||
if typ == "rifle" or typ == "sniper" then
|
if typ == "rifle" or typ == "sniper" then
|
||||||
surface.SetMaterial( mat1 )
|
surface.SetMaterial( mat1 )
|
||||||
surface.DrawTexturedRectRotated( poosx - s(spacer_long) - gap, poosy, s(16), s(16), 0 )
|
surface.DrawTexturedRectRotated( poosx - s(spacer_long) - gap, poosy, s(16), s(16), 0 )
|
||||||
|
@ -742,12 +742,10 @@ hook.Add( "HUDPaint", "Benny_HUDPaint", function()
|
||||||
local boxsize = ss(b_w)
|
local boxsize = ss(b_w)
|
||||||
surface.SetDrawColor( scheme[active and "fg" or "bg"] )
|
surface.SetDrawColor( scheme[active and "fg" or "bg"] )
|
||||||
surface.DrawRect( b_x + bump, b_y, boxsize, ss(b_h) )
|
surface.DrawRect( b_x + bump, b_y, boxsize, ss(b_h) )
|
||||||
--draw.SimpleText( class.Type, "Benny_8", b_x + bump + boxsize/2, b_y + ss(3), scheme["fg"], TEXT_ALIGN_CENTER, TEXT_ALIGN_TOP )
|
|
||||||
draw.SimpleText( class.Name, "Benny_8", b_x + bump + boxsize/2, b_y + ss(4), scheme[active and "bg" or "fg"], TEXT_ALIGN_CENTER, TEXT_ALIGN_TOP )
|
draw.SimpleText( class.Name, "Benny_8", b_x + bump + boxsize/2, b_y + ss(4), scheme[active and "bg" or "fg"], TEXT_ALIGN_CENTER, TEXT_ALIGN_TOP )
|
||||||
if active then
|
if active then
|
||||||
draw.SimpleText( active_r and "RIGHT" or active_l and "LEFT", "Benny_10", b_x + bump + boxsize/2, b_y + ss(10), scheme["bg"], TEXT_ALIGN_CENTER, TEXT_ALIGN_TOP )
|
draw.SimpleText( active_r and "RIGHT" or active_l and "LEFT", "Benny_10", b_x + bump + boxsize/2, b_y + ss(10), scheme["bg"], TEXT_ALIGN_CENTER, TEXT_ALIGN_TOP )
|
||||||
end
|
end
|
||||||
--draw.SimpleText( "", "Benny_8", b_x + bump + boxsize/2, b_y + ss(17), scheme["fg"], TEXT_ALIGN_CENTER, TEXT_ALIGN_TOP )
|
|
||||||
if class.Features == "firearm" or class.Features == "grenade" then
|
if class.Features == "firearm" or class.Features == "grenade" then
|
||||||
invid = invid + 1
|
invid = invid + 1
|
||||||
surface.SetDrawColor( scheme[active and "bg" or "fg"] )
|
surface.SetDrawColor( scheme[active and "bg" or "fg"] )
|
||||||
|
@ -906,7 +904,7 @@ hook.Add( "HUDPaint", "Benny_HUDPaint", function()
|
||||||
local bx, by = sw/2, sh*(0.75)
|
local bx, by = sw/2, sh*(0.75)
|
||||||
local mx = 50
|
local mx = 50
|
||||||
|
|
||||||
local wep1_table, wep1_class = wep:BTable( false ), wep:BClass( false )
|
local wep1_table, wep1_class = wep:bWepTable( false ), wep:bWepClass( false )
|
||||||
if wep1_table then
|
if wep1_table then
|
||||||
draw.SimpleText( wep1_class.Name, "Benny_14", bx-mx, by+ss(8)*-1, color_white, TEXT_ALIGN_RIGHT, TEXT_ALIGN_TOP )
|
draw.SimpleText( wep1_class.Name, "Benny_14", bx-mx, by+ss(8)*-1, color_white, TEXT_ALIGN_RIGHT, TEXT_ALIGN_TOP )
|
||||||
draw.SimpleText( "Clip1: " .. wep:Clip1(), "Benny_14", bx-mx, by+ss(8)*0, color_white, TEXT_ALIGN_RIGHT, TEXT_ALIGN_TOP )
|
draw.SimpleText( "Clip1: " .. wep:Clip1(), "Benny_14", bx-mx, by+ss(8)*0, color_white, TEXT_ALIGN_RIGHT, TEXT_ALIGN_TOP )
|
||||||
|
@ -917,7 +915,7 @@ hook.Add( "HUDPaint", "Benny_HUDPaint", function()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local wep2_table, wep2_class = wep:BTable( true ), wep:BClass( true )
|
local wep2_table, wep2_class = wep:bWepTable( true ), wep:bWepClass( true )
|
||||||
if wep2_table then
|
if wep2_table then
|
||||||
draw.SimpleText( wep2_class.Name, "Benny_14", bx+mx, by+ss(8)*-1, color_white, TEXT_ALIGN_LEFT, TEXT_ALIGN_TOP )
|
draw.SimpleText( wep2_class.Name, "Benny_14", bx+mx, by+ss(8)*-1, color_white, TEXT_ALIGN_LEFT, TEXT_ALIGN_TOP )
|
||||||
draw.SimpleText( "Clip2: " .. wep:Clip2(), "Benny_14", bx+mx, by+ss(8)*0, color_white, TEXT_ALIGN_LEFT, TEXT_ALIGN_TOP )
|
draw.SimpleText( "Clip2: " .. wep:Clip2(), "Benny_14", bx+mx, by+ss(8)*0, color_white, TEXT_ALIGN_LEFT, TEXT_ALIGN_TOP )
|
||||||
|
|
|
@ -24,8 +24,8 @@ hook.Add( "InputMouseApply", "Benny_InputMouseApply", function( cmd, x, y, ang )
|
||||||
local p = LocalPlayer()
|
local p = LocalPlayer()
|
||||||
local w = p:BennyCheck()
|
local w = p:BennyCheck()
|
||||||
local cdis = false
|
local cdis = false
|
||||||
if w and w:BClass( false ) and w:BClass( false ).Custom_DisableSpecialMovement and w:BClass( false ).Custom_DisableSpecialMovement( w ) then cdis = true end
|
if w and w:bWepClass( false ) and w:bWepClass( false ).Custom_DisableSpecialMovement and w:bWepClass( false ).Custom_DisableSpecialMovement( w ) then cdis = true end
|
||||||
if w and w:BClass( true ) and w:BClass( true ).Custom_DisableSpecialMovement and w:BClass( true ).Custom_DisableSpecialMovement( w ) then cdis = true end
|
if w and w:bWepClass( true ) and w:bWepClass( true ).Custom_DisableSpecialMovement and w:bWepClass( true ).Custom_DisableSpecialMovement( w ) then cdis = true end
|
||||||
if GetConVar("benny_cam_override"):GetString() != "" then cdis = true end
|
if GetConVar("benny_cam_override"):GetString() != "" then cdis = true end
|
||||||
if p:NoclippingAndNotVaulting() then cdis = true end
|
if p:NoclippingAndNotVaulting() then cdis = true end
|
||||||
if w and !cdis then
|
if w and !cdis then
|
||||||
|
@ -85,8 +85,8 @@ hook.Add( "CreateMove", "Benny_CreateMove", function( cmd )
|
||||||
local w = p:BennyCheck()
|
local w = p:BennyCheck()
|
||||||
local cdis = false
|
local cdis = false
|
||||||
if w then
|
if w then
|
||||||
if w:BClass( false ) and w:BClass( false ).Custom_DisableSpecialMovement and w:BClass( false ).Custom_DisableSpecialMovement( w ) then cdis = true end
|
if w:bWepClass( false ) and w:bWepClass( false ).Custom_DisableSpecialMovement and w:bWepClass( false ).Custom_DisableSpecialMovement( w ) then cdis = true end
|
||||||
if w:BClass( true ) and w:BClass( true ).Custom_DisableSpecialMovement and w:BClass( true ).Custom_DisableSpecialMovement( w ) then cdis = true end
|
if w:bWepClass( true ) and w:bWepClass( true ).Custom_DisableSpecialMovement and w:bWepClass( true ).Custom_DisableSpecialMovement( w ) then cdis = true end
|
||||||
end
|
end
|
||||||
if GetConVar("benny_cam_override"):GetString() != "" then cdis = true end
|
if GetConVar("benny_cam_override"):GetString() != "" then cdis = true end
|
||||||
if LocalPlayer():NoclippingAndNotVaulting() then cdis = true end
|
if LocalPlayer():NoclippingAndNotVaulting() then cdis = true end
|
||||||
|
|
|
@ -151,7 +151,7 @@ hook.Add( "Move", "Benny_Move", function( ply, mv )
|
||||||
|
|
||||||
local w = ply:BennyCheck()
|
local w = ply:BennyCheck()
|
||||||
local hand = false
|
local hand = false
|
||||||
if w and w:BClass( hand ) then
|
if w and w:bWepClass( hand ) then
|
||||||
local targetspeed = ply:GetMaxSpeed()
|
local targetspeed = ply:GetMaxSpeed()
|
||||||
|
|
||||||
targetspeed = targetspeed * w:GetStat( hand, "Speed_Move" )
|
targetspeed = targetspeed * w:GetStat( hand, "Speed_Move" )
|
||||||
|
|
|
@ -195,8 +195,8 @@ function PT:INV_Weight()
|
||||||
end
|
end
|
||||||
-- PROTO: HOLY SHIT THIS SUCKS, MAKES A FUNCTION AND MIGHT RUN EVERY FRAME!!!
|
-- PROTO: HOLY SHIT THIS SUCKS, MAKES A FUNCTION AND MIGHT RUN EVERY FRAME!!!
|
||||||
table.sort( results, function( a, b )
|
table.sort( results, function( a, b )
|
||||||
return (T_WEIGHT[b[2]["Type"]] - b[1]["Acquisition"]*(1e-5))
|
return (T_WEIGHT[b[2]["Category"]] - b[1]["Acquisition"]*(1e-5))
|
||||||
< (T_WEIGHT[a[2]["Type"]] - a[1]["Acquisition"]*(1e-5))
|
< (T_WEIGHT[a[2]["Category"]] - a[1]["Acquisition"]*(1e-5))
|
||||||
end )
|
end )
|
||||||
local finale = {}
|
local finale = {}
|
||||||
for i, v in ipairs( results ) do
|
for i, v in ipairs( results ) do
|
||||||
|
@ -278,7 +278,7 @@ do
|
||||||
local temp = {}
|
local temp = {}
|
||||||
for id, data in pairs( inv ) do
|
for id, data in pairs( inv ) do
|
||||||
local idata = WeaponGet(data.Class)
|
local idata = WeaponGet(data.Class)
|
||||||
local translated = translat[idata.Type]
|
local translated = translat[idata.Category]
|
||||||
|
|
||||||
if i == translated[1] then
|
if i == translated[1] then
|
||||||
table.insert( temp, { id, translated[2] } )
|
table.insert( temp, { id, translated[2] } )
|
||||||
|
|
|
@ -1332,7 +1332,7 @@ do -- Grenades, nothing here is guaranteed.
|
||||||
-- TEMP: Do this right!
|
-- TEMP: Do this right!
|
||||||
if !class.GrenadeCharge then self:SetGrenadeDownStart( CurTime() ) end
|
if !class.GrenadeCharge then self:SetGrenadeDownStart( CurTime() ) end
|
||||||
--
|
--
|
||||||
local hand = (self:BTable( true ) and self:BTable( true ).Class == data.Class) or false
|
local hand = (self:bWepTable( true ) and self:bWepTable( true ).Class == data.Class) or false
|
||||||
self:TPFire( hand )
|
self:TPFire( hand )
|
||||||
if SERVER then GrenadeCreate( self, data ) end
|
if SERVER then GrenadeCreate( self, data ) end
|
||||||
local id = self:bGetInvID( hand )
|
local id = self:bGetInvID( hand )
|
||||||
|
|
|
@ -24,6 +24,7 @@ end
|
||||||
|
|
||||||
ItemDef("base", {
|
ItemDef("base", {
|
||||||
Name = "Base Item",
|
Name = "Base Item",
|
||||||
|
Category = "base",
|
||||||
Type = "base",
|
Type = "base",
|
||||||
Description = "Base of everything",
|
Description = "Base of everything",
|
||||||
|
|
||||||
|
@ -56,8 +57,8 @@ ItemDef("base", {
|
||||||
})
|
})
|
||||||
|
|
||||||
ItemDef("base_firearm", {
|
ItemDef("base_firearm", {
|
||||||
--Name = "Base Firearm",
|
Name = "Base Firearm",
|
||||||
Type = "base",
|
Category = "base",
|
||||||
Base = "base",
|
Base = "base",
|
||||||
Description = "Base for firearms",
|
Description = "Base for firearms",
|
||||||
Features = "firearm",
|
Features = "firearm",
|
||||||
|
@ -72,6 +73,45 @@ ItemDef("base_firearm", {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Damage = 0,
|
||||||
|
AmmoStd = 1,
|
||||||
|
Pellets = 1,
|
||||||
|
Delay = 60/600,
|
||||||
|
|
||||||
|
Spread = 0,
|
||||||
|
SpreadAdd = 0,
|
||||||
|
SpreadAddMax = 1,
|
||||||
|
|
||||||
|
SpreadDecay_Start = 1,
|
||||||
|
SpreadDecay_End = 2,
|
||||||
|
SpreadDecay_RampTime = 1,
|
||||||
|
|
||||||
|
Reload_MagOut = 0.2,
|
||||||
|
Reload_MagIn = 0.8,
|
||||||
|
Reload_MagIn_Bonus1 = 0.56,
|
||||||
|
Reload_MagIn_Bonus2 = 0.56+0.1,
|
||||||
|
|
||||||
|
Func_Attack = function( self, hand )
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
ItemDef("base_melee", {
|
||||||
|
Name = "Base Melee",
|
||||||
|
Category = "base",
|
||||||
|
Base = "base",
|
||||||
|
Description = "Base for melee weapons",
|
||||||
|
Features = "firearm",
|
||||||
|
|
||||||
|
WModel = "models/weapons/w_pistol.mdl",
|
||||||
|
HoldType = "pistol",
|
||||||
|
|
||||||
|
-- Firearm specific
|
||||||
|
Firemodes = {
|
||||||
|
{
|
||||||
|
Mode = 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
Damage = 0,
|
Damage = 0,
|
||||||
Delay = 60/600,
|
Delay = 60/600,
|
||||||
|
|
||||||
|
@ -89,7 +129,7 @@ ItemDef("base_firearm", {
|
||||||
|
|
||||||
ItemDef("base_grenade", {
|
ItemDef("base_grenade", {
|
||||||
Name = "Base Grenade",
|
Name = "Base Grenade",
|
||||||
Type = "grenade",
|
Category = "grenade",
|
||||||
Base = "base",
|
Base = "base",
|
||||||
Description = "Base for grenades",
|
Description = "Base for grenades",
|
||||||
Features = "grenade",
|
Features = "grenade",
|
||||||
|
@ -100,7 +140,7 @@ ItemDef("base_grenade", {
|
||||||
|
|
||||||
ItemDef("base_magazine", {
|
ItemDef("base_magazine", {
|
||||||
Name = "Base Magazine",
|
Name = "Base Magazine",
|
||||||
Type = "magazine",
|
Category = "magazine",
|
||||||
Base = "base",
|
Base = "base",
|
||||||
Description = "Base for magazines",
|
Description = "Base for magazines",
|
||||||
Features = "magazine",
|
Features = "magazine",
|
||||||
|
@ -110,10 +150,10 @@ ItemDef("base_magazine", {
|
||||||
})
|
})
|
||||||
|
|
||||||
ItemDef("deagle", {
|
ItemDef("deagle", {
|
||||||
--Name = "DEAGLE",
|
Name = "DEAGLE",
|
||||||
Description = "Autoloading .50 caliber pistol.",
|
Description = "Autoloading .50 caliber pistol.",
|
||||||
Base = "base_firearm",
|
Base = "base_firearm",
|
||||||
Type = "pistol",
|
Category = "pistol",
|
||||||
|
|
||||||
WModel = "models/weapons/w_pist_deagle.mdl",
|
WModel = "models/weapons/w_pist_deagle.mdl",
|
||||||
HoldType = "revolver",
|
HoldType = "revolver",
|
||||||
|
@ -123,13 +163,32 @@ ItemDef("deagle", {
|
||||||
Sound_MagOut = "Anaconda.MagOut",
|
Sound_MagOut = "Anaconda.MagOut",
|
||||||
Sound_MagIn = "Anaconda.MagIn",
|
Sound_MagIn = "Anaconda.MagIn",
|
||||||
Sound_Cock = "Deagle.Cock",
|
Sound_Cock = "Deagle.Cock",
|
||||||
|
|
||||||
|
--
|
||||||
|
AmmoStd = 7,
|
||||||
|
Delay = (60/180),
|
||||||
|
Firemodes = FIREMODE_SEMI,
|
||||||
|
Damage = 47,
|
||||||
|
Spread = 30/60,
|
||||||
|
SpreadAdd = 4,
|
||||||
|
SpreadAddMax = 15,
|
||||||
|
|
||||||
|
SpreadDecay_Start = 8,
|
||||||
|
SpreadDecay_End = 25,
|
||||||
|
SpreadDecay_RampTime = 0.5,
|
||||||
|
|
||||||
|
Speed_Move = 0.95,
|
||||||
|
Speed_Aiming = 0.95,
|
||||||
|
Speed_Reloading = 0.95,
|
||||||
|
Speed_Firing = 0.95,
|
||||||
|
Speed_FiringTime = 0.5,
|
||||||
})
|
})
|
||||||
|
|
||||||
ItemDef("mag_deagle", {
|
ItemDef("mag_deagle", {
|
||||||
Name = "MAG: DEAGLE 7-rnd",
|
Name = "MAG: DEAGLE 7-rnd",
|
||||||
Base = "base_magazine",
|
Base = "base_magazine",
|
||||||
|
|
||||||
Ammo = 7,
|
Ammo = 14,
|
||||||
})
|
})
|
||||||
--[[
|
--[[
|
||||||
ItemDef("deagle", {
|
ItemDef("deagle", {
|
||||||
|
|
Loading…
Reference in New Issue