Fixes critical bug causing multiple hits from single projectile.

Fixes some other potential issues coming from changing a few del() to qdel().
Fixes not being able to shoot mob on same tile as the shooter.
Fixes being able to shoot oneself by simply clicking our mob.
Fixes not being able to shoot non human mobs right next to us.
This commit is contained in:
phil235
2015-10-07 20:57:36 +02:00
parent 38f5c0c85a
commit dbaba791f3
6 changed files with 46 additions and 26 deletions
+7 -6
View File
@@ -140,27 +140,28 @@ Gunshots/explosions/opening doors/less rare audio (done)
radius++
if(radius > FAKE_FLOOD_MAX_RADIUS)
qdel(src)
return
Expand()
next_expand = world.time + FAKE_FLOOD_EXPAND_TIME
return
/obj/effect/hallucination/fake_flood/proc/Expand()
if(!flood_turfs) //for qdel
return
for(var/turf/T in circlerangeturfs(loc,radius))
if((T in flood_turfs)|| T.blocks_air)
continue
flood_images += image(image_icon,T,image_state,MOB_LAYER)
flood_turfs += T
if(target.client) target.client.images |= flood_images
return
if(target.client)
target.client.images |= flood_images
/obj/effect/hallucination/fake_flood/Destroy()
SSobj.processing.Remove(src)
qdel(flood_turfs)
if(target.client) target.client.images.Remove(flood_images)
flood_turfs = list()
if(target.client)
target.client.images.Remove(flood_images)
target = null
qdel(flood_images)
flood_images = list()
return ..()
/obj/effect/hallucination/simple/xeno