mirror of
https://github.com/HaodongMo/ARC-9.git
synced 2025-03-04 03:02:58 -05:00
Replace unpredicted refill timer, fix empty firing
This commit is contained in:
parent
c97527ce51
commit
c41f359cb4
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@ -1,3 +1,4 @@
|
|||||||
{
|
{
|
||||||
"git-blame.gitWebUrl": ""
|
"editor.detectIndentation": true,
|
||||||
|
"editor.insertSpaces": true
|
||||||
}
|
}
|
3
lua/.vscode/settings.json
vendored
3
lua/.vscode/settings.json
vendored
@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"git-blame.gitWebUrl": ""
|
|
||||||
}
|
|
@ -107,7 +107,7 @@ function SWEP:PlayAnimation(anim, mult, lock, delayidle, noproxy, notranslate, n
|
|||||||
if animation.EjectAt then
|
if animation.EjectAt then
|
||||||
self:SetTimer(animation.EjectAt * mult, function()
|
self:SetTimer(animation.EjectAt * mult, function()
|
||||||
self:DoEject()
|
self:DoEject()
|
||||||
end)
|
end, "ejectat")
|
||||||
end
|
end
|
||||||
|
|
||||||
if animation.DropMagAt then
|
if animation.DropMagAt then
|
||||||
|
@ -217,11 +217,12 @@ function SWEP:Holster(wep)
|
|||||||
return true
|
return true
|
||||||
else
|
else
|
||||||
-- Prepare the holster and set up the timer
|
-- Prepare the holster and set up the timer
|
||||||
|
self:KillTimer("ejectat")
|
||||||
if self:HasAnimation("holster") then
|
if self:HasAnimation("holster") then
|
||||||
local animation = self:PlayAnimation("holster", self:GetProcessedValue("DeployTime", true, 1), true, false, nil, nil, true) or 0
|
local animation = self:PlayAnimation("holster", self:GetProcessedValue("DeployTime", true, 1), true, false, nil, nil, true) or 0
|
||||||
local aentry = self:GetAnimationEntry(self:TranslateAnimation("holster"))
|
local aentry = self:GetAnimationEntry(self:TranslateAnimation("holster"))
|
||||||
local alength = aentry.MinProgress or animation
|
local alength = aentry.MinProgress or animation
|
||||||
alength = alength * (aentry.Mult or 1)
|
alength = alength * (aentry.Mult or 1)
|
||||||
self:SetHolsterTime(CurTime() + alength)
|
self:SetHolsterTime(CurTime() + alength)
|
||||||
self:SetHolster_Entity(wep)
|
self:SetHolster_Entity(wep)
|
||||||
else
|
else
|
||||||
|
@ -1,3 +1,14 @@
|
|||||||
|
|
||||||
|
function SWEP:SetReloadTimer( time, amount )
|
||||||
|
self:SetReloadTime( time )
|
||||||
|
self:SetReloadAmount( amount )
|
||||||
|
end
|
||||||
|
|
||||||
|
function SWEP:KillReloadTimer()
|
||||||
|
self:SetReloadTime( 0 )
|
||||||
|
self:SetReloadAmount( 0 )
|
||||||
|
end
|
||||||
|
|
||||||
function SWEP:Reload()
|
function SWEP:Reload()
|
||||||
if self:GetOwner():IsNPC() then
|
if self:GetOwner():IsNPC() then
|
||||||
self:NPC_Reload()
|
self:NPC_Reload()
|
||||||
@ -106,15 +117,7 @@ function SWEP:Reload()
|
|||||||
minprogress = math.min(minprogress, 0.95)
|
minprogress = math.min(minprogress, 0.95)
|
||||||
|
|
||||||
if !self:GetAnimationEntry(self:TranslateAnimation(anim)).RestoreAmmo then
|
if !self:GetAnimationEntry(self:TranslateAnimation(anim)).RestoreAmmo then
|
||||||
if getUBGL then
|
self:SetReloadTimer( CurTime() + (t * minprogress), self:GetValue(getUBGL and "UBGLClipSize" or "ClipSize") )
|
||||||
self:SetTimer(t * minprogress, function()
|
|
||||||
self:RestoreClip(self:GetValue("UBGLClipSize"))
|
|
||||||
end, "reloadtimer")
|
|
||||||
else
|
|
||||||
self:SetTimer(t * minprogress, function()
|
|
||||||
self:RestoreClip(self:GetValue("ClipSize"))
|
|
||||||
end, "reloadtimer")
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local newcliptime = self:GetAnimationEntry(self:TranslateAnimation(anim)).MagSwapTime or 0.5
|
local newcliptime = self:GetAnimationEntry(self:TranslateAnimation(anim)).MagSwapTime or 0.5
|
||||||
@ -211,7 +214,7 @@ function SWEP:CancelReload()
|
|||||||
self:PlayAnimation("idle")
|
self:PlayAnimation("idle")
|
||||||
self:DoPlayerAnimationEvent(ACT_HL2MP_GESTURE_RELOAD_MAGIC)
|
self:DoPlayerAnimationEvent(ACT_HL2MP_GESTURE_RELOAD_MAGIC)
|
||||||
self:CancelSoundTable()
|
self:CancelSoundTable()
|
||||||
self:KillTimer("reloadtimer")
|
self:KillReloadTimer()
|
||||||
self:SetIKTimeLineStart(0)
|
self:SetIKTimeLineStart(0)
|
||||||
self:SetIKTime(0)
|
self:SetIKTime(0)
|
||||||
self:SetEmptyReload(false)
|
self:SetEmptyReload(false)
|
||||||
@ -496,6 +499,11 @@ function SWEP:EndReload()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function SWEP:ThinkReload()
|
function SWEP:ThinkReload()
|
||||||
|
if self:GetReloadTime() != 0 and self:GetReloadTime() <= CurTime() then
|
||||||
|
self:RestoreClip( self:GetReloadAmount() )
|
||||||
|
self:SetReloadTime( 0 )
|
||||||
|
self:SetReloadAmount( 0 )
|
||||||
|
end
|
||||||
if self:GetReloading() and self:GetReloadFinishTime() <= CurTime() then
|
if self:GetReloading() and self:GetReloadFinishTime() <= CurTime() then
|
||||||
self:EndReload()
|
self:EndReload()
|
||||||
end
|
end
|
||||||
|
@ -366,6 +366,7 @@ function SWEP:DoPrimaryAttack()
|
|||||||
|
|
||||||
self:RunHook("Hook_PrimaryAttack")
|
self:RunHook("Hook_PrimaryAttack")
|
||||||
|
|
||||||
|
self:SetEmptyReload(false)
|
||||||
self:TakeAmmo()
|
self:TakeAmmo()
|
||||||
|
|
||||||
local triggerStartFireAnim = processedValue(self,"TriggerStartFireAnim", true)
|
local triggerStartFireAnim = processedValue(self,"TriggerStartFireAnim", true)
|
||||||
|
@ -1496,7 +1496,7 @@ function SWEP:SetupDataTables()
|
|||||||
self:NetworkVar("Float", 6, "SprintAmount")
|
self:NetworkVar("Float", 6, "SprintAmount")
|
||||||
self:NetworkVar("Float", 7, "LastMeleeTime")
|
self:NetworkVar("Float", 7, "LastMeleeTime")
|
||||||
self:NetworkVar("Float", 8, "TriggerDelay")
|
self:NetworkVar("Float", 8, "TriggerDelay")
|
||||||
-- 9
|
self:NetworkVar("Float", 9, "ReloadTime")
|
||||||
self:NetworkVar("Float", 10, "ReloadFinishTime")
|
self:NetworkVar("Float", 10, "ReloadFinishTime")
|
||||||
self:NetworkVar("Float", 11, "SightAmount")
|
self:NetworkVar("Float", 11, "SightAmount")
|
||||||
self:NetworkVar("Float", 12, "HeatAmount")
|
self:NetworkVar("Float", 12, "HeatAmount")
|
||||||
@ -1524,12 +1524,12 @@ function SWEP:SetupDataTables()
|
|||||||
self:NetworkVar("Int", 4, "NthReload")
|
self:NetworkVar("Int", 4, "NthReload")
|
||||||
self:NetworkVar("Int", 5, "MultiSight")
|
self:NetworkVar("Int", 5, "MultiSight")
|
||||||
self:NetworkVar("Int", 6, "SequenceProxy")
|
self:NetworkVar("Int", 6, "SequenceProxy")
|
||||||
-- self:NetworkVar("Int", 6, "BlindFireDirection")
|
|
||||||
self:NetworkVar("Int", 7, "HideBoneIndex")
|
self:NetworkVar("Int", 7, "HideBoneIndex")
|
||||||
self:NetworkVar("Int", 8, "SequenceIndex")
|
self:NetworkVar("Int", 8, "SequenceIndex")
|
||||||
self:NetworkVar("Int", 9, "LeanState")
|
self:NetworkVar("Int", 9, "LeanState")
|
||||||
self:NetworkVar("Int", 10, "LastLoadedRounds")
|
self:NetworkVar("Int", 10, "LastLoadedRounds")
|
||||||
self:NetworkVar("Int", 11, "PoseParameterIndex")
|
self:NetworkVar("Int", 11, "PoseParameterIndex")
|
||||||
|
self:NetworkVar("Int", 12, "ReloadAmount")
|
||||||
|
|
||||||
self:NetworkVar("Bool", 0, "Customize")
|
self:NetworkVar("Bool", 0, "Customize")
|
||||||
self:NetworkVar("Bool", 1, "Reloading")
|
self:NetworkVar("Bool", 1, "Reloading")
|
||||||
|
Loading…
Reference in New Issue
Block a user