Merge pull request #10097 from Loganbacca/laserfixes

Projectile visual bug fixes
This commit is contained in:
PsiOmegaDelta
2015-07-10 14:37:04 +02:00
4 changed files with 19 additions and 10 deletions

View File

@@ -11,8 +11,8 @@
if(istype(M))
transform = M
/obj/effect/projectile/proc/activate()
spawn(3)
/obj/effect/projectile/proc/activate(var/kill_delay = 3)
spawn(kill_delay)
qdel(src) //see effect_system.dm - sets loc to null and lets GC handle removing these effects
return

View File

@@ -296,25 +296,26 @@
before_move()
Move(location.return_turf())
if(first_step)
muzzle_effect(effect_transform)
first_step = 0
else
tracer_effect(effect_transform)
if(!bumped && !isturf(original))
if(loc == get_turf(original))
if(!(original in permutated))
if(Bump(original))
return
if(first_step)
muzzle_effect(effect_transform)
first_step = 0
else if(!bumped)
tracer_effect(effect_transform)
if(!hitscan)
sleep(step_delay) //add delay between movement iterations if it's not a hitscan weapon
/obj/item/projectile/proc/process_step(first_step = 0)
return
/obj/item/projectile/proc/before_move()
return
/obj/item/projectile/proc/setup_trajectory()
// trajectory dispersion
@@ -355,7 +356,10 @@
P.set_transform(M)
P.pixel_x = location.pixel_x
P.pixel_y = location.pixel_y
P.activate()
if(!hitscan)
P.activate(step_delay) //if not a hitscan projectile, remove after a single delay
else
P.activate()
/obj/item/projectile/proc/impact_effect(var/matrix/M)
if(ispath(tracer_type))

View File

@@ -8,6 +8,7 @@
eyeblur = 4
var/frequency = 1
hitscan = 1
invisibility = 101 //beam projectiles are invisible as they are rendered by the effect engine
muzzle_type = /obj/effect/projectile/laser/muzzle
tracer_type = /obj/effect/projectile/laser/tracer

View File

@@ -0,0 +1,4 @@
author: Loganbacca
delete-after: True
changes:
- bugfix: "Fixed visual bugs with projectile effects."