Removes extra move delay on a lot of automatic guns + fixes recoil. (#8487)

This commit is contained in:
Matt Atlas
2020-03-26 21:19:01 +01:00
committed by GitHub
parent ebadb532ad
commit 6fda700635
5 changed files with 63 additions and 22 deletions
+3 -4
View File
@@ -50,8 +50,8 @@
var/burst = 1
var/fire_delay = 6 //delay after shooting before the gun can be used again
var/burst_delay = 2 //delay between shots, if firing in bursts
var/move_delay = 1
var/burst_delay = 1 //delay between shots, if firing in bursts
var/move_delay = 0
var/fire_sound = 'sound/weapons/gunshot/gunshot1.ogg'
var/fire_sound_text = "gunshot"
var/recoil = 0 //screen shake
@@ -409,7 +409,7 @@
addtimer(CALLBACK(src, /atom/.proc/set_light, 0), 2)
if(recoil)
addtimer(CALLBACK(GLOBAL_PROC, /proc/shake_camera, user, recoil+1, recoil), 0, TIMER_UNIQUE)
shake_camera(user, recoil + 1, recoil)
if(ishuman(user) && user.invisibility == INVISIBILITY_LEVEL_TWO) //shooting will disable a rig cloaking device
var/mob/living/carbon/human/H = user
@@ -419,7 +419,6 @@
S.deactivate()
update_icon()
/obj/item/gun/proc/process_point_blank(obj/projectile, mob/user, atom/target)
var/obj/item/projectile/P = projectile
if(!istype(P))
@@ -17,9 +17,9 @@
sel_mode = 1
firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=2, burst_accuracy=list(1,0,0), dispersion=list(0, 10, 15)),
list(mode_name="short bursts", burst=5, fire_delay=null, move_delay=3, burst_accuracy=list(1,0,,-1,-1), dispersion=list(5, 10, 15, 20))
list(mode_name="semiauto", burst=1, fire_delay=null, move_delay=null, burst_accuracy=null, dispersion=null),
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=null, burst_accuracy=list(1,0,0), dispersion=list(0, 10, 15)),
list(mode_name="short bursts", burst=5, fire_delay=null, move_delay=null, burst_accuracy=list(1,0,,-1,-1), dispersion=list(5, 10, 15, 20))
)
//Submachine guns and personal defence weapons, go.
@@ -117,9 +117,9 @@
is_wieldable = TRUE
firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay=10, move_delay=null, burst_accuracy=null, dispersion=null),
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=2, burst_accuracy=list(1,0,0), dispersion=list(0, 5, 10)),
list(mode_name="short bursts", burst=5, fire_delay=null, move_delay=3, burst_accuracy=list(1,0,0,-1,-1), dispersion=list(5, 5, 15))
list(mode_name="semiauto", burst=1, fire_delay=10, move_delay=null, burst_accuracy=null, dispersion=null),
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=null, burst_accuracy=list(1,0,0), dispersion=list(0, 5, 10)),
list(mode_name="short bursts", burst=5, fire_delay=null, move_delay=null, burst_accuracy=list(1,0,0,-1,-1), dispersion=list(5, 5, 15))
)
//slower to regain aim, more inaccurate if not wielding
@@ -200,8 +200,8 @@
burst_delay = 4
firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay=10, move_delay=null, use_launcher=null, burst_accuracy=null, dispersion=null),
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=3, use_launcher=null, burst_accuracy=list(2,1,1), dispersion=list(0, 7.5)),
list(mode_name="semiauto", burst=1, fire_delay=10, move_delay=null, use_launcher=null, burst_accuracy=null, dispersion=null),
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=null, use_launcher=null, burst_accuracy=list(2,1,1), dispersion=list(0, 7.5)),
list(mode_name="fire grenades", burst=null, fire_delay=null, move_delay=null, use_launcher=1, burst_accuracy=null, dispersion=null)
)
@@ -272,8 +272,8 @@
magazine_type = /obj/item/ammo_magazine/a762
firemodes = list(
list(mode_name="short bursts", burst=5, move_delay=4, burst_accuracy = list(1,0,0,-1,-1), dispersion = list(3, 6, 9)),
list(mode_name="long bursts", burst=8, move_delay=5, burst_accuracy = list(1,0,0,-1,-1,-1,-2,-2), dispersion = list(8))
list(mode_name="short bursts", burst=5, move_delay=null, burst_accuracy = list(1,0,0,-1,-1), dispersion = list(3, 6, 9)),
list(mode_name="long bursts", burst=8, move_delay=null, burst_accuracy = list(1,0,0,-1,-1,-1,-2,-2), dispersion = list(8))
)
var/cover_open = 0
@@ -364,8 +364,8 @@
auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg'
firemodes = list(
list(mode_name="single coil", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
list(mode_name="dual coil", burst=2, move_delay=5, accuracy = list(-2,-3), dispersion = list(20))
list(mode_name="single coil", burst = 1, fire_delay = null, move_delay = null, burst_accuracy = null, dispersion = null),
list(mode_name="dual coil", burst = 2, move_delay = 1, accuracy = list(-2,-3), dispersion = list(20))
)
@@ -390,8 +390,8 @@
firemodes = list(
list(mode_name="semiauto", burst=1, move_delay=null, burst_accuracy=null, dispersion=null),
list(mode_name="3-round bursts", burst=3, move_delay=2, burst_accuracy=list(2,1,1), dispersion=list(0, 10, 15)),
list(mode_name="short bursts", burst=5, move_delay=3, burst_accuracy=list(2,1,1,0,0), dispersion=list(5, 10, 15))
list(mode_name="3-round bursts", burst=3, move_delay=null, burst_accuracy=list(2,1,1), dispersion=list(0, 10, 15)),
list(mode_name="short bursts", burst=5, move_delay=null, burst_accuracy=list(2,1,1,0,0), dispersion=list(5, 10, 15))
)
@@ -440,8 +440,8 @@
accuracy_wielded = 0
firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay= 10, move_delay=null, burst_accuracy=null, dispersion=null),
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=3, burst_accuracy=list(0,-1,-1), dispersion=list(0, 10, 15))
list(mode_name="semiauto", burst=1, fire_delay= 10, move_delay=null, burst_accuracy=null, dispersion=null),
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=null, burst_accuracy=list(0,-1,-1), dispersion=list(0, 10, 15))
)
/obj/item/gun/projectile/automatic/rifle/shotgun/update_icon()
@@ -138,7 +138,7 @@
firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=2, burst_accuracy=list(1,0,0), dispersion=list(0, 10))
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=null, burst_accuracy=list(1,0,0), dispersion=list(0, 10))
)
@@ -200,7 +200,7 @@
firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
list(mode_name="2-round bursts", burst=2, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1), dispersion=list(0, 8))
list(mode_name="2-round bursts", burst=2, fire_delay=null, move_delay=null, burst_accuracy=list(0,-1,-1), dispersion=list(0, 8))
)
/obj/item/gun/projectile/automatic/rifle/w556/verb/scope()