diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 1f6da70e8f9..c0063ac7c45 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -187,6 +187,8 @@ target = targloc pointblank = 0 + admin_attack_log(usr, attacker_message="Fired [src]", admin_message="fired a gun ([src]) (MODE: [src.mode_name]) [reflex ? "by reflex" : "manually"].") + update_held_icon() //update timing diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 57a864864ca..9cdf5d8f40d 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -12,9 +12,9 @@ multi_aim = 1 burst_delay = 2 firemodes = list( - list(name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null), - list(name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0)), -// list(name="short bursts", burst=5, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1,-2,-2), dispersion=list(0.6, 1.0, 1.0, 1.0, 1.2)), + 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=4, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0)), +// list(mode_name="short bursts", burst=5, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1,-2,-2), dispersion=list(0.6, 1.0, 1.0, 1.0, 1.2)), ) /obj/item/weapon/gun/projectile/automatic/mini_uzi @@ -66,9 +66,9 @@ magazine_type = /obj/item/ammo_magazine/c762 firemodes = list( - list(name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null), - list(name="3-round bursts", burst=3, fire_delay=null, move_delay=6, burst_accuracy=list(0,-1,-2), dispersion=list(0.0, 0.6, 0.6)), -// list(name="short bursts", burst=5, fire_delay=null, move_delay=6, burst_accuracy=list(0,-1,-2,-2,-3), dispersion=list(0.6, 1.0, 1.0, 1.0, 1.2)), + 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=6, burst_accuracy=list(0,-1,-2), dispersion=list(0.0, 0.6, 0.6)), +// list(mode_name="short bursts", burst=5, fire_delay=null, move_delay=6, burst_accuracy=list(0,-1,-2,-2,-3), dispersion=list(0.6, 1.0, 1.0, 1.0, 1.2)), ) /obj/item/weapon/gun/projectile/automatic/sts35/update_icon() @@ -117,9 +117,9 @@ burst_delay = 4 firemodes = list( - list(name="semiauto", burst=1, fire_delay=0, move_delay=null, use_launcher=null, burst_accuracy=null, dispersion=null), - list(name="2-round bursts", burst=2, fire_delay=null, move_delay=6, use_launcher=null, burst_accuracy=list(0,-1), dispersion=list(0.0, 0.6)), - list(name="fire grenades", burst=null, fire_delay=null, move_delay=null, use_launcher=1, burst_accuracy=null, dispersion=null) + list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, use_launcher=null, burst_accuracy=null, dispersion=null), + list(mode_name="2-round bursts", burst=2, fire_delay=null, move_delay=6, use_launcher=null, burst_accuracy=list(0,-1), dispersion=list(0.0, 0.6)), + list(mode_name="fire grenades", burst=null, fire_delay=null, move_delay=null, use_launcher=1, burst_accuracy=null, dispersion=null) ) var/use_launcher = 0 @@ -182,9 +182,9 @@ magazine_type = /obj/item/ammo_magazine/a762 firemodes = list( - list(name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null), - list(name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0)), - list(name="short bursts", burst=5, move_delay=6, burst_accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.6, 1.0, 1.0, 1.0, 1.2)), + 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=4, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0)), + list(mode_name="short bursts", burst=5, move_delay=6, burst_accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.6, 1.0, 1.0, 1.0, 1.2)), ) var/cover_open = 0 @@ -241,9 +241,9 @@ magazine_type = /obj/item/ammo_magazine/g12 firemodes = list( - list(name="semiauto", burst=1, fire_delay=0), - list(name="3-round bursts", burst=3, move_delay=6, accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.0, 0.6, 0.6)), -// list(name="6-round bursts", burst=6, move_delay=6, accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.6, 1.0, 1.0, 1.0, 1.2, 1.2)), + list(mode_name="semiauto", burst=1, fire_delay=0), + list(mode_name="3-round bursts", burst=3, move_delay=6, accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.0, 0.6, 0.6)), +// list(mode_name="6-round bursts", burst=6, move_delay=6, accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.6, 1.0, 1.0, 1.0, 1.2, 1.2)), ) /obj/item/weapon/gun/projectile/automatic/as24/update_icon() diff --git a/code/modules/projectiles/targeting.dm b/code/modules/projectiles/targeting.dm index cc91ae04241..de9e115b8ec 100644 --- a/code/modules/projectiles/targeting.dm +++ b/code/modules/projectiles/targeting.dm @@ -36,7 +36,7 @@ for(var/mob/living/M in aim_targets) if(M) M.NotTargeted(src) //Untargeting people. - qdel(aim_targets) + aim_targets = null //Compute how to fire..... //Return 1 if a target was found, 0 otherwise. @@ -60,12 +60,13 @@ //Aiming at the target mob. /obj/item/weapon/gun/proc/Aim(var/mob/living/M) if(!aim_targets || !(M in aim_targets)) + admin_attack_log(usr, M, "Pointed a [src] at [M]", "Had a [src] aimed at them, by [usr]", "aims a gun ([src]) (MODE: [src.mode_name]) at") lock_time = world.time if(aim_targets && !multi_aim) //If they're targeting someone and they have a non multi_aim weapon. for(var/mob/living/L in aim_targets) if(L) L.NotTargeted(src) - qdel(aim_targets) + aim_targets = null usr.visible_message("[usr] turns \the [src] on [M]!") else usr.visible_message("[usr] aims \a [src] at [M]!") @@ -230,13 +231,13 @@ targeted_by -= I I.aim_targets.Remove(src) //De-target them if(!I.aim_targets.len) - qdel(I.aim_targets) + I.aim_targets = null var/mob/living/T = I.loc //Remove the targeting icons if(T && ismob(T) && !I.aim_targets && T.client) T.client.remove_gun_icons() if(!targeted_by.len) qdel(target_locked) //Remove the overlay - qdel(targeted_by) + targeted_by.Cut() spawn(1) update_targeted() /mob/living/Move()