Залив

This commit is contained in:
Refosel
2026-03-30 10:39:52 +03:00
commit 2b57c019cb
2010 changed files with 185745 additions and 0 deletions

View File

@@ -0,0 +1,89 @@
AddCSLuaFile()
function SWEP:Think()
self:LoadSpawnPreset()
--fallback initialize
if (!self.m_bInitialized && IsFirstTimePredicted()) then
self:Initialize()
end
--holster
if (self:HasFlag("Holstering") && CurTime() >= self:GetNextHolsterTime() && IsValid(self:GetNextWeapon()) && self:GetNextWeapon() != self && self:GetNextWeapon() != self:GetOwner()) then
if (CLIENT && (IsFirstTimePredicted() || game.SinglePlayer())) then
input.SelectWeapon(self:GetNextWeapon())
end
return
end
--equip
if (self:HasFlag("Drawing") && CurTime() >= self:GetNextActionTime()) then
self:RemoveFlag("Drawing")
self:RemoveFlag("PlayFirstDraw")
end
--spray
if (CurTime() > self:GetNextPrimaryFire() + 0.15) then
self:SetSprayRounds(0)
end
--cone
self:SetCone(math.Approach(self:GetCone(), self:GetConeMin(), 4 * FrameTime()))
if (CurTime() <= self:GetNextMeleeTime()) then
self:SetCone(self:GetConeMax())
end
--burst logic
if (!game.SinglePlayer() || SERVER) then
if (self.Primary.BurstRounds > 1 && self:GetBurstRounds() < self.Primary.BurstRounds && self:GetBurstRounds() > 0) then
self:PrimaryAttack()
end
end
--auto reload
if (self:GetOwner():GetInfoNum("mgbase_autoreload", 1)) >= 1 then
if (self:Clip1() <= 0 && self:GetOwner():GetAmmoCount(self:GetPrimaryAmmoType()) > 0) then
self:Reload()
end
end
self:TriggerLogic()
--pumping, it has to go under trigger logic
if (CurTime() >= self:GetNextPrimaryFire() && self:CanPump()) then
if (!self:HasFlag("Rechambered")) then
self:PlayViewModelAnimation("Rechamber")
self:SetNextPrimaryFire(CurTime() + self:GetAnimLength("Rechamber"))
self:AddFlag("Rechambered")
end
end
self:ReloadLogic()
self:AimLogic()
self:SprintLogic()
self:BipodLogic()
self:InspectLogic()
--ladder
if (self:GetOwner():GetMoveType() == MOVETYPE_LADDER || self:GetOwner():WaterLevel() == 3) then
self:Holster(self:GetOwner())
else
if (self:HasFlag("Holstering") && self:GetNextWeapon() == self:GetOwner()) then
self:Deploy()
end
end
--holdtypes
--new meme marine way
self:SetShouldHoldType()
if (CLIENT && game.SinglePlayer()) then
return
end
if (self:Clip1() > 0 && !self:HasFlag("Reloading") && !self:HasFlag("Sprinting")) then
self:CreateAndResumeReverbJob()
end
end