From 15bb32edf322fa5b48f41bc343d812cc95bdfd74 Mon Sep 17 00:00:00 2001
From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54>
Date: Sat, 29 May 2010 14:45:24 +0000
Subject: [PATCH] "hit warning" displays the direction of incomming ranged
 attacks

git-svn-id: http://svn.net-core.org/repos/t-engine4@714 51575b47-30f0-44d4-a5cc-537603b46e54
---
 game/modules/tome/class/Player.lua            |  10 ++++
 .../tome/data/gfx/particles/hit_warning.lua   |  46 ++++++++++++++++++
 ideas/zones.ods                               | Bin 12272 -> 11777 bytes
 3 files changed, 56 insertions(+)
 create mode 100644 game/modules/tome/data/gfx/particles/hit_warning.lua

diff --git a/game/modules/tome/class/Player.lua b/game/modules/tome/class/Player.lua
index 3735ecad63..4794828b9c 100644
--- a/game/modules/tome/class/Player.lua
+++ b/game/modules/tome/class/Player.lua
@@ -190,6 +190,16 @@ function _M:onTakeHit(value, src)
 		local sx, sy = game.level.map:getTileToScreen(self.x, self.y)
 		game.flyers:add(sx, sy, 30, (rng.range(0,2)-1) * 0.5, 2, "LOW HEALTH!", {255,0,0}, true)
 	end
+
+	-- Hit direction warning
+	if src.x and src.y and (self.x ~= src.x or self.y ~= src.y) then
+		local range = math.floor(core.fov.distance(src.x, src.y, self.x,  self.y))
+		if range > 1 then
+			local angle = math.atan2(src.y - self.y, src.x - self.x)
+			game.level.map:particleEmitter(self.x, self.y, 1, "hit_warning", {angle=math.deg(angle)})
+		end
+	end
+
 	return ret
 end
 
diff --git a/game/modules/tome/data/gfx/particles/hit_warning.lua b/game/modules/tome/data/gfx/particles/hit_warning.lua
new file mode 100644
index 0000000000..9a71d2f5b0
--- /dev/null
+++ b/game/modules/tome/data/gfx/particles/hit_warning.lua
@@ -0,0 +1,46 @@
+-- ToME - Tales of Middle-Earth
+-- Copyright (C) 2009, 2010 Nicolas Casalini
+--
+-- This program is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
+--
+-- Nicolas Casalini "DarkGod"
+-- darkgod@te4.org
+angle = angle or 0
+return { generator = function()
+	local ad = rng.range(-30, 30) + angle
+	local a = math.rad(ad)
+	local r = rng.range(15, 16)
+
+	return {
+		life = 8,
+		size = 4, sizev = -0.1, sizea = 0,
+
+		x = r * math.cos(a), xv = 0, xa = 0,
+		y = r * math.sin(a), yv = 0, ya = 0,
+		dir = 0, dirv = 0, dira = 0,
+		vel = 0, velv = 0, vela = 0,
+
+		r = rng.range(160, 220)/255, rv = rng.range(0, 10), ra = 0,
+		g = 0,   gv = 0, ga = 0,
+		b = 0, bv = rng.range(0, 10), ba = 0,
+		a = rng.range(70, 255)/255,   av = 0, aa = 0,
+	}
+end, },
+function(self)
+	self.nb = (self.nb or 0) + 1
+	if self.nb < 4 then
+		self.ps:emit(10)
+	end
+end,
+100
diff --git a/ideas/zones.ods b/ideas/zones.ods
index 32ebcc53cad241a4b898390dc58ce0aace88e0ae..ad61762869db26fd111462cda0f13629901ecdbd 100644
GIT binary patch
delta 9184
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

delta 9630
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
N2@4j&DbwGP{|DE2SBd}t

-- 
GitLab