Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- newTalent{
- name = "Fiery Aegis",
- type = {"corruption/heart-of-fire", 3},
- require = corrs_req3,
- points = 5,
- cooldown = 15,
- getBaseShield = function (self, t) return self:combatTalentSpellDamage(t, 50, 200) end,
- getRange = function(self, t) return math.ceil(self:combatTalentScale(t, 2, 4.5)) end,
- getDur = function(self, t) return math.ceil(self:combatTalentScale(t, 3, 5)) end,
- action = function(self, t)
- local tg = {type="ball", nolock=true, range=0, radius = 10, friendlyfire=false}
- local burncount = 0
- self:project(tg, self.x, self.y, function(px, py)
- local target = game.level.map(px, py, engine.Map.ACTOR)
- if not target then return end
- local burns = {}
- for eff_id, p in pairs(target.tmp) do
- local e = target.tempeffect_def[eff_id]
- if e.subtype.fire and p.power and e.status == "detrimental" then
- burns[#burns+1] = {id=eff_id, params=p}
- burncount = burncount + 1
- end
- end
- for i, d in ipairs(burns) do
- target:removeEffect(d.id)
- end
- end)
- local shieldboost = (1 + burncount * 0.1) * t.getBaseShield(self, t)
- self:setEffect(self.EFF_FIRE_SHIELD, t.getDur(self, t), {power=shieldboost, radius = t.getRange(self, t), src=self})
- return true
- end,
- info = function(self, t)
- return ([[Draw in the raging fires and envelop yourself in them. Remove all burns from enemies in a radius of 5 around you, and create a shield lasting %d turns with a power of %d, increased by 10%% for each burn removed.
- When the shield ends, it releases a burst of fire in a radius of %d around you, burning all enemies for 3 turns, doing damage equal to the initial power of the shield.]]):
- format(t.getDur(self, t), t.getBaseShield(self, t), t.getRange(self, t))
- end,
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement