Skip to content
Snippets Groups Projects
Commit 0e2769c8 authored by dg's avatar dg
Browse files

new trap

git-svn-id: http://svn.net-core.org/repos/t-engine4@5262 51575b47-30f0-44d4-a5cc-537603b46e54
parent 319f7bd6
No related branches found
No related tags found
No related merge requests found
......@@ -176,19 +176,21 @@ newEntity{ base = "TRAP_COMPLEX",
message = "Flames start to appear arround @target@.",
dam = resolvers.mbonus_level(300, 15),
triggered = function(self, x, y, who)
local ps, p = {}, {}
self:project({type="ball", radius=4}, x, y, function(px, py)
ps[#ps+1] = {x=px, y=py}
local ps, p = {}, self.points or {}
self.x, self.y = x, y
self:project({type="ball", radius=3}, x, y, function(px, py)
local g = game.level.map(px, py, engine.Map.TERRAIN)
if not g:check("block_move") then
ps[#ps+1] = {x=px, y=py}
end
end)
for i = 1, 4 do
if #ps == 0 then break end
p[#p+1] = rng.tableRemove(ps)
p[#p].e = game.level.map:particleEmitter(p[#p].x, p[#p].y, 1, "bolt_fire")
end
self.points = p
for i, d in ipairs(p) do
game.level.map:particleEmitter(d.x, d.y, 1, "bolt_fire")
end
game.level:addEntity(self)
return true
end,
......@@ -197,9 +199,11 @@ newEntity{ base = "TRAP_COMPLEX",
act = function(self)
local tg = {type="ball", radius=1, friendlyfire=false}
for i, d in ipairs(self.points) do
game.level.map:removeParticleEmitter(d.e)
self:project(tg, d.x, d.y, engine.DamageType.FIRE, self.dam, nil)
game.level.map:particleEmitter(d.x, d.y, 1, "ball_fire", {radius=1})
end
self.points = {}
self:useEnergy()
game.level:removeEntity(self)
end,
......
......@@ -127,7 +127,7 @@ function _M:generateList()
list[#list+1] = {name="Create Item", dialog="CreateItem"}
list[#list+1] = {name="Alter Faction", dialog="AlterFaction"}
list[#list+1] = {name="Give Sher'tul fortress energy", action="shertul-energy"}
list[#list+1] = {name="Create all traps", action="all_traps"}
list[#list+1] = {name="Create Trap", dialog="CreateTrap"}
local chars = {}
for i, v in ipairs(list) do
......
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