Skip to content
Snippets Groups Projects
Commit 2a0dde0e authored by dg's avatar dg
Browse files

heh

git-svn-id: http://svn.net-core.org/repos/t-engine4@4067 51575b47-30f0-44d4-a5cc-537603b46e54
parent 02a8920b
No related branches found
No related tags found
No related merge requests found
......@@ -116,59 +116,10 @@ newTalent{
}
newTalent{
name = "???3",
name = "Curse of the Meek",
type = {"spell/shades",3},
require = spells_req3,
points = 5,
random_ego = "attack",
mana = 40,
cooldown = 8,
tactical = { ATTACKAREA = 2 },
range = 7,
radius = function(self, t)
return 1 + self:getTalentLevelRaw(t)
end,
proj_speed = 4,
direct_hit = true,
requires_target = true,
target = function(self, t)
return {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t), selffire=self:spellFriendlyFire(), talent=t, display={particle="bolt_fire", trail="firetrail"}}
end,
getDamage = function(self, t) return self:combatTalentSpellDamage(t, 28, 280) end,
action = function(self, t)
local tg = self:getTalentTarget(t)
local x, y = self:getTarget(tg)
if not x or not y then return nil end
self:projectile(tg, x, y, DamageType.FIRE, self:spellCrit(t.getDamage(self, t)), function(self, tg, x, y, grids)
game.level.map:particleEmitter(x, y, tg.radius, "fireflash", {radius=tg.radius, tx=x, ty=y})
if self:attr("burning_wake") then
game.level.map:addEffect(self,
x, y, 4,
engine.DamageType.INFERNO, self:attr("burning_wake"),
tg.radius,
5, nil,
{type="inferno"},
nil, tg.selffire
)
end
end)
game:playSoundNear(self, "talents/fireflash")
return true
end,
info = function(self, t)
local damage = t.getDamage(self, t)
local radius = self:getTalentRadius(t)
return ([[Conjures up a bolt of fire moving toward the target that explodes into a flash of fire doing %0.2f fire damage in a radius of %d.
The damage will increase with the Magic stat]]):
format(damDesc(self, DamageType.FIRE, damage), radius)
end,
}
newTalent{
name = "Curse of the Meek",
type = {"spell/shades",4},
require = spells_req4,
points = 5,
mana = 50,
cooldown = 30,
tactical = { DEFEND = 3 },
......@@ -257,3 +208,68 @@ newTalent{
format(math.ceil(self:getTalentLevel(t)))
end,
}
newTalent{
name = "Forgery of Haze",
type = {"spell/shades",4},
require = spells_req4,
points = 5,
mana = 50,
cooldown = 8,
tactical = { ATTACK = 2, ESCAPE = 1 },
requires_target = true,
getDuration = function(self, t) return math.floor(3 + self:getTalentLevel(t)) end,
action = function(self, t)
-- Find space
local x, y = util.findFreeGrid(self.x, self.y, 1, true, {[Map.ACTOR]=true})
if not x then
game.logPlayer(self, "Not enough space to summon!")
return
end
local m = self:clone{
shader = "shadow_simulacrum",
no_drops = true,
faction = self.faction,
summoner = self, summoner_gain_exp=true,
summon_time = t.getDuration(self, t),
ai_target = {actor=nil},
ai = "summoned", ai_real = "tactical",
desc = [[A dark shadowy shape who's form resembles you.]],
}
m:removeAllMOs()
m.make_escort = nil
m.on_added_to_level = nil
m.energy.value = 0
m.life = m.life
m.forceLevelup = function() end
m.on_die = nil
m.on_acquire_target = nil
m.seen_by = nil
m.can_talk = nil
m.clone_on_hit = nil
m.talents.T_CREATE_MINIONS = nil
m.talents.T_FORGERY_OF_HAZE = nil
m.remove_from_party_on_death = true
game.zone:addEntity(game.level, m, "actor", x, y)
game.level.map:particleEmitter(x, y, 1, "shadow")
if game.party:hasMember(self) then
game.party:addMember(m, {
control="no",
type="minion",
title="Forgery of Haze",
orders = {target=true},
})
end
game:playSoundNear(self, "talents/spell_generic2")
return true
end,
info = function(self, t)
return ([[Through the shadows you forge a temporary copy of yourself, existing for %d turns.]]):
format(t.getDuration(self, t))
end,
}
No preview for this file type
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