From 1fd070c9084412211636ff11d9bed4fbea3b5ad5 Mon Sep 17 00:00:00 2001 From: uporotiy Date: Mon, 2 May 2011 12:58:36 +0000 Subject: [PATCH] Forgot get_dist uses Chebyshev's metric too. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1517 316c924e-a436-60f5-8080-3fe189b3f50e --- code/defines/procs/gamehelpers.dm | 8 ++++++++ code/game/objects/explosion.dm | 6 +++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/code/defines/procs/gamehelpers.dm b/code/defines/procs/gamehelpers.dm index d0c4cf223c3..5695a6f4706 100644 --- a/code/defines/procs/gamehelpers.dm +++ b/code/defines/procs/gamehelpers.dm @@ -82,6 +82,14 @@ //turfs += centerturf return turfs +/proc/get_dist_euclidian(atom/Loc1 as turf|mob|obj,atom/Loc2 as turf|mob|obj) + var/dx = Loc1.x - Loc2.x + var/dy = Loc1.y - Loc2.y + + var/dist = sqrt(dx**2 + dy**2) + + return dist + /proc/circlerangeturfs(center=usr,radius=3) var/turf/centerturf = get_turf(center) diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm index 7c6a205f091..5e3e896322f 100644 --- a/code/game/objects/explosion.dm +++ b/code/game/objects/explosion.dm @@ -27,7 +27,11 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa exTurfs += T for(var/turf/T in exTurfs) - var/distance = get_dist(epicenter, T) + var/distance = 0 + if(roundExplosions) + distance = get_dist_euclidian(epicenter, T) + else + distance = get_dist(epicenter, T) if(distance < 0) distance = 0 if(distance < devastation_range)