Skip to content
Snippets Groups Projects
Commit 1e430fe7 authored by dg's avatar dg
Browse files

blinding

git-svn-id: http://svn.net-core.org/repos/t-engine4@176 51575b47-30f0-44d4-a5cc-537603b46e54
parent 1484daa6
No related branches found
No related tags found
No related merge requests found
......@@ -116,6 +116,11 @@ function _M:loaded()
self._fov_lite = core.fov.new(_M.opaque, _M.applyLite, self)
self.changed = true
self:redisplay()
end
--- Redisplays the map, storing seen information
function _M:redisplay()
for i = 0, self.w - 1 do for j = 0, self.h - 1 do
self._map:setSeen(i, j, self.seens(i, j))
self._map:setRemember(i, j, self.remembers(i, j))
......
......@@ -97,7 +97,7 @@ end
--- Returns the current target
function _M:getTarget(typ)
local tx, ty = self:aiSeeTargetPos(self.ai_target.actor)
return tx, tx, self.ai_target.actor
return tx, ty, self.ai_target.actor
end
--- Sets the current target
......
......@@ -15,6 +15,9 @@ newEntity{
ai = "dumb_talented_simple", ai_state = { talent_in=3, },
energy = { mod=1 },
stats = { str=14, dex=12, mag=10, con=12 },
blind_immune = 1,
see_invisible = 2,
}
newEntity{ base = "BASE_NPC_SKELETON",
......
......@@ -81,9 +81,11 @@ newTalent{
cooldown = 2,
range = 1,
action = function(self, t)
local x, y, target = self:getTarget()
local t = {type="hit", range=self:getTalentRange(t)}
local x, y, target = self:getTarget(t)
if not x or not y or not target then return nil end
if math.floor(core.fov.distance(self.x, self.y, x, y)) > 1 then return nil end
self:attackTarget(target, DamageType.LIGHT, 0.5, true)
self:attackTarget(target, DamageType.BLIND, 1, true)
return true
end,
info = function(self)
......
......@@ -177,8 +177,10 @@ newEffect{
on_lose = function(self, err) return "#Target# recovers sight.", "-Blind" end,
activate = function(self, eff)
eff.tmpid = self:addTemporaryValue("blind", 1)
if self.player then game.level.map:redisplay() end
end,
deactivate = function(self, eff)
self:removeTemporaryValue("blind", eff.tmpid)
if self.player then game.level.map:redisplay() end
end,
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment