From 1b963d374a039a3415aba5000ad70539ff4d9601 Mon Sep 17 00:00:00 2001 From: Matt Atlas Date: Fri, 28 Jul 2023 19:55:51 +0200 Subject: [PATCH] Fixes non-hitscan projectiles not having muzzle fire effects. --- code/modules/projectiles/projectile.dm | 14 +++++++++ html/changelogs/mattatlas-muzzle.yml | 41 ++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 html/changelogs/mattatlas-muzzle.yml diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index b064b5476e1..eb3b4324656 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -372,6 +372,7 @@ if(hitscan) return process_hitscan() else + generate_muzzle_flash() if(!isprocessing) START_PROCESSING(SSprojectiles, src) pixel_move(1) //move it now! @@ -616,6 +617,19 @@ STOP_PROCESSING(SSprojectiles, src) return ..() +/obj/item/projectile/proc/generate_muzzle_flash(duration = 3) + if(duration <= 0) + return + if(!muzzle_type || silenced) + return + var/datum/point/p = trajectory + var/atom/movable/thing = new muzzle_type + p.move_atom_to_src(thing) + var/matrix/M = new + M.Turn(original_angle) + thing.transform = M + QDEL_IN(thing, duration) + /obj/item/projectile/proc/generate_hitscan_tracers(cleanup = TRUE, duration = 3) if(!length(beam_segments)) return diff --git a/html/changelogs/mattatlas-muzzle.yml b/html/changelogs/mattatlas-muzzle.yml new file mode 100644 index 00000000000..977ebe56d97 --- /dev/null +++ b/html/changelogs/mattatlas-muzzle.yml @@ -0,0 +1,41 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: MattAtlas + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Ballistic weapons have muzzle fire effects once again."