fixed an issue where you could fire while the gun was psuedo-empty

This commit is contained in:
FatalErr42O 2024-03-12 17:15:25 -07:00
parent 77b9368acb
commit a15ae832a9
2 changed files with 14 additions and 7 deletions

View File

@ -28,20 +28,23 @@
( ) guns4d_pack_3
( ) find better name
-guns4d-OP4 (opposing force's arms)
-guns4d-OP4
( ) make guns
( ) rugged ak47
( ) m1911
( ) m1911 (triggergaurd sawwed off)
( ) RPG?
( ) Mossberg
( ) AR15
( ) Berreta m12 (smg)
( ) allow unloading magazines
( ) `textures` should be in visuals!!!
( ) `inventory_image_magless` should be in visuals!!!
( ) leave round in chamber if reloading the same type of Ammunition
( ) allow unloading magazines in craft inv
( ) fix issue with arm animations being super choppy? (investigation needed)
( ) have breathing act as a multiplier for sway
( ) fix water/fluids
(~) fix water/fluids
(x) temp fix, ignores fluids.
( ) add random deviation
( ) randomness system
( ) patterns?
@ -58,7 +61,7 @@
( ) firemode switching sound
(~) add config
(x) add a table for config storage, some settings
( ) integrate with minetest settings
( ) integrate with minetest settings, add config file.
(x) fix crash when switching from a gun into a gun with a sprite_scope
(x) add infinite ammo privelage and quick command
(x) privilege not directly tied to infinite ammo, fix without breaking performance?
@ -90,6 +93,10 @@
-I'd probably have to modify models at loadtime to have an eye and hipfire bone? Probably easier then current system though.
(x) Fix HORRIBLE namespace violation in misc_helpers.lua. Also migrate features to MTUL libraries
MTUL subtasks
( ) make ObjRef method override stuff MTUL and not 4dguns
this won't be fun.
documentation
( ) Instantiatable_class

View File

@ -383,7 +383,7 @@ function gun_default:update_image_and_text_meta(meta)
end
function gun_default:attempt_fire()
assert(self.instance, "attempt to call object method on a class")
if self.rechamber_time <= 0 then
if self.rechamber_time <= 0 and not self.ammo_handler.ammo.magazine_psuedo_empty then
local spent_bullet = self.ammo_handler:spend_round()
if spent_bullet and spent_bullet ~= "empty" then
local dir = self.dir