This commit is contained in:
Haodong Mo 2022-04-01 16:28:46 +11:00
parent a6e0c2c5a1
commit 9449952e7f
4 changed files with 27 additions and 13 deletions

View File

@ -21,7 +21,6 @@ Read weapons/arc9_base/shared.lua, arc9/common/attachments/default.lua, and this
**New features include:**
- Overhauled standardized recoil mechanics
- "Supply Limit" system
- Magazine dropping
- Attachments on top of attachments
- Free aim
@ -29,12 +28,12 @@ Read weapons/arc9_base/shared.lua, arc9/common/attachments/default.lua, and this
- Reworked standardized weapon stat handling
- Blind fire for all weapons
- Looping sounds
- Indoor audio
- Reworked RHIK system with greater compatibility, better performance, and multiple targets
- RHIK supports right hands too
- Snazzy new UI
- Better standard weapon ecosystem
- Pose Parameter handler
- Third Person IK animations
-
### New Recoil
@ -42,6 +41,8 @@ Weapons can be set with a Recoil Seed, unique to that gun, or a lookup table of
Weapons also have an amount of random recoil, which is added onto the predictible recoil. Random recoil cannot be predicted, meaning the pattern will vary a little bit every time.
Visual recoil has been totally reworked from the ground up using springs, which look much better than the previous system.
### Supply Limit
The main way to get ammunition is through using Supply Crates or Supply Pickups. These will only resupply you up to your supply limit multiplied by your current magazine capacity worth of ammo. Some attachments will increase your Supply Limit while others will decrease it.

View File

@ -346,8 +346,8 @@ function SWEP:DoCheapScope(fov, atttbl)
local scrx = (ScrW() - scrw * s) / 2
local scry = (ScrH() - scrh * s) / 2
scrx = scrx + 8
scry = scry + 8
-- scrx = scrx + 8
-- scry = scry + 8
cam.Start3D()
if atttbl.RTScopeFLIR then

View File

@ -143,13 +143,13 @@ function SWEP:PrimaryAttack()
end
if IsFirstTimePredicted() then
if self:GetProcessedValue("BottomlessClip") then
if self:GetValue("BottomlessClip") then
if !self:GetInfiniteAmmo() then
self:RestoreClip(self:GetProcessedValue("ClipSize"))
self:RestoreClip(self:GetValue("ClipSize"))
if self:Ammo1() > 0 then
local ammotype = self:GetProcessedValue("Ammo")
self:GetOwner():SetAmmo(self:GetOwner():GetAmmoCount(ammotype) - self:GetProcessedValue("AmmoPerShot"), ammotype)
local ammotype = self:GetValue("Ammo")
self:GetOwner():SetAmmo(self:GetOwner():GetAmmoCount(ammotype) - self:GetValue("AmmoPerShot"), ammotype)
else
self:TakePrimaryAmmo(self:GetProcessedValue("AmmoPerShot"))
end
@ -159,16 +159,28 @@ function SWEP:PrimaryAttack()
end
end
local anim = "fire"
if self:GetProcessedValue("Akimbo") then
if bit.band(self:GetNthShot(), 1) == 0 then
self:PlayAnimation("fire_left", 1, false)
anim = "fire_left"
else
self:PlayAnimation("fire_right", 1, false)
anim = "fire_right"
end
else
self:PlayAnimation("fire", 1, false)
end
local banim = anim
for i = 0, self:GetBurstCount() do
local b = i + 1
if self:HasAnimation(anim .. "_" .. tostring(b)) then
banim = anim .. "_" .. tostring(b)
end
end
self:PlayAnimation(banim, 1, false)
self:SetLoadedRounds(self:Clip1())
self:DoVisualRecoil()

View File

@ -761,6 +761,7 @@ SWEP.Attachments = {
-- ready
-- holster
-- fire
-- fire_1, fire_2, fire_3...
-- dryfire
-- reload
-- reload_empty