From 17d21e13aec18885bba3a30346436809e97bfd95 Mon Sep 17 00:00:00 2001 From: Fesiug Date: Mon, 1 Jan 2024 16:25:44 -0500 Subject: [PATCH] My inheritance only grows fucking STRONGER --- .../benny/entities/weapons/benny/sh_inv.lua | 31 +++---------------- .../benny/entities/weapons/benny/shared.lua | 5 +-- .../gamemode/modules/meta/sh_itemdef.lua | 2 +- .../modules/player/sh_movement_advanced.lua | 13 ++++---- .../gamemode/modules/weapons/sh_weapons.lua | 11 +++++-- 5 files changed, 24 insertions(+), 38 deletions(-) diff --git a/gamemodes/benny/entities/weapons/benny/sh_inv.lua b/gamemodes/benny/entities/weapons/benny/sh_inv.lua index be2deef..20f4ac4 100644 --- a/gamemodes/benny/entities/weapons/benny/sh_inv.lua +++ b/gamemodes/benny/entities/weapons/benny/sh_inv.lua @@ -1,32 +1,9 @@ - -local fallbackstat = { - ["Reload_MagOut"] = 0.2, - ["Reload_MagIn"] = 0.8, - ["Reload_MagIn_Bonus1"] = 0.56, - ["Reload_MagIn_Bonus2"] = 0.56+0.1, - ["Sound_Cock"] = "Glock.Cock", - ["Damage"] = 0, - ["Pellets"] = 1, - ["Firemodes"] = { { Mode = 1 } }, - ["Delay"] = 0, - ["Ammo"] = 0, - ["Spread"] = 0, - ["SpreadAdd"] = 0, - ["SpreadDecay_Start"] = 0, - ["SpreadDecay_End"] = 0, - ["SpreadDecay_RampTime"] = 0, - ["Speed_Move"] = 1, - ["Speed_Aiming"] = 1, - ["Speed_Reloading"] = 1, - ["Speed_Firing"] = 1, - ["Speed_FiringTime"] = 0.2, - ["ShootHolsterTime"] = 0, -} - function SWEP:GetStat( hand, stat ) - local thereturn = (self:BClass( hand ) and self:BClass( hand )[stat] or fallbackstat[stat]) - assert( thereturn, "No stat for " .. stat ) + 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 .. ")" ) + local thereturn = (self:BClass( hand ) and self:BClass( hand )[stat]) + assert( thereturn, "No stat for " .. stat .. " ( " .. Hand .. " )" ) return thereturn end diff --git a/gamemodes/benny/entities/weapons/benny/shared.lua b/gamemodes/benny/entities/weapons/benny/shared.lua index d11d87d..f2f8332 100644 --- a/gamemodes/benny/entities/weapons/benny/shared.lua +++ b/gamemodes/benny/entities/weapons/benny/shared.lua @@ -198,8 +198,9 @@ function SWEP:Think() -- Don't allow holstering from this weapon if... -- Just know, this feels bad. if self:bGetReloadTime( hand ) > 0 then - elseif self:bGetShotTime( hand ) + self:GetStat( hand, "ShootHolsterTime" ) > CurTime() then - + -- hold + elseif self:BClass( hand ) and self:bGetShotTime( hand ) + self:GetStat( hand, "ShootHolsterTime" ) > CurTime() then + -- hold else if curr != "" then -- require holster first diff --git a/gamemodes/benny/gamemode/modules/meta/sh_itemdef.lua b/gamemodes/benny/gamemode/modules/meta/sh_itemdef.lua index a506daf..ab44eae 100644 --- a/gamemodes/benny/gamemode/modules/meta/sh_itemdef.lua +++ b/gamemodes/benny/gamemode/modules/meta/sh_itemdef.lua @@ -18,7 +18,7 @@ ItemDef = {} function ItemDef.__index( self, key ) if rawget(self, "BaseClass") then - return rawget( rawget(self, "BaseClass"), key ) + return rawget(self, "BaseClass")[key] end end diff --git a/gamemodes/benny/gamemode/modules/player/sh_movement_advanced.lua b/gamemodes/benny/gamemode/modules/player/sh_movement_advanced.lua index 872398e..43c22ad 100644 --- a/gamemodes/benny/gamemode/modules/player/sh_movement_advanced.lua +++ b/gamemodes/benny/gamemode/modules/player/sh_movement_advanced.lua @@ -150,17 +150,18 @@ hook.Add( "Move", "Benny_Move", function( ply, mv ) end local w = ply:BennyCheck() - if w then + local hand = false + if w and w:BClass( hand ) then local targetspeed = ply:GetMaxSpeed() - targetspeed = targetspeed * w:GetStat( false, "Speed_Move" ) + targetspeed = targetspeed * w:GetStat( hand, "Speed_Move" ) - targetspeed = targetspeed * Lerp( w:GetAim(), 1, w:GetStat( false, "Speed_Aiming" ) ) + targetspeed = targetspeed * Lerp( w:GetAim(), 1, w:GetStat( hand, "Speed_Aiming" ) ) - local st = w:bGetShotTime( false ) - targetspeed = targetspeed * (st+w:GetStat( hand, "Speed_FiringTime" ) > CurTime() and w:GetStat( false, "Speed_Firing" ) or 1) + local st = w:bGetShotTime( hand ) + targetspeed = targetspeed * (st+w:GetStat( hand, "Speed_FiringTime" ) > CurTime() and w:GetStat( hand, "Speed_Firing" ) or 1) - targetspeed = targetspeed * (w:bGetReloadTime( false ) > 0 and w:GetStat( false, "Speed_Reloading" ) or 1) + targetspeed = targetspeed * (w:bGetReloadTime( hand ) > 0 and w:GetStat( hand, "Speed_Reloading" ) or 1) mv:SetMaxSpeed( targetspeed ) mv:SetMaxClientSpeed( targetspeed ) diff --git a/gamemodes/benny/gamemode/modules/weapons/sh_weapons.lua b/gamemodes/benny/gamemode/modules/weapons/sh_weapons.lua index feb2ebb..d16ee45 100644 --- a/gamemodes/benny/gamemode/modules/weapons/sh_weapons.lua +++ b/gamemodes/benny/gamemode/modules/weapons/sh_weapons.lua @@ -29,6 +29,13 @@ ItemDef("base", { WModel = "models/weapons/w_357.mdl", + Speed_Move = 1, + Speed_Aiming = 1, + Speed_Reloading = 1, + Speed_Firing = 1, + Speed_FiringTime = 0.2, + ShootHolsterTime = 0, + Func_Attack = function( self, hand ) end, @@ -49,7 +56,7 @@ ItemDef("base", { }) ItemDef("base_firearm", { - Name = "Base Firearm", + --Name = "Base Firearm", Type = "base", Base = "base", Description = "Base for firearms", @@ -103,7 +110,7 @@ ItemDef("base_magazine", { }) ItemDef("deagle", { - Name = "DEAGLE", + --Name = "DEAGLE", Description = "Autoloading .50 caliber pistol.", Base = "base_firearm", Type = "pistol",