Code:
newTalent{
name = "Unveil", shortname = "UNVEIL",
type = {"spell/vile-tactics", 4},
require = make_require(4),
no_energy = "false",
points = 5,
cooldown = 10,
mana = 30,
hate = 5,
range = 0,
radius = function(self, t) return math.floor(self:combatTalentScale(t, 3, 7)) end,
target = function(self, t)
return {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t), friendlyfire=false, talent=t}
end,
action = function(src, x, y, type, dam, tmp)
local target = game.level.map(x, y, Map.ACTOR)
tmp = tmp or {}
-- extra damage on hiding targets
if target and target:attr("stealth") then
dam = dam * 2
if target and target:attr("invisible") then
dam = dam * 2
-- Dont lit magically unlit grids
local a = game.level.map(x, y, Map.ACTOR)
if a then
a:setEffect(a.EFF_LUMINESCENCE, math.ceil(dam.turns), {power=dam.power, no_ct_effect=true})
end}
self:project(tg, self.x, self.y, DamageType.DARKNESS, self:mindCrit(self:combatTalentStatDamage(t, "cun", 40, 400)))
self:project(tg, self.x, self.y, DamageType.CONFUSION, {
dur=3,
dam=40 + 6 * self:getTalentLevel(t),
power_check=function() return self:combatPhysicalpower() end,
resist_check=self.combatMindResist,
})
game.level.map:particleEmitter(self.x, self.y, self:getTalentRadius(t), "shout", {additive=true, life=10, size=3, distorion_factor=0.5, radius=self:getTalentRadius(t), nb_circles=8, rm=0.8, rM=1, gm=0, gM=0, bm=0.1, bM=0.2, am=0.4, aM=0.6})
return true
end,
info = function(self, t)
local radius = self:getTalentRadius(t)
return ([[None can hide from you. Deals %d%% darkness damage in a radius of %d%%. This reveals hidden targets, and does double damage to them.
The damage will scaling with your cunning]]):format(radius, self:combatTalentStatDamage(t, "cun", 40, 400))
end,
}
Welcome to pain.