Skip to content
Snippets Groups Projects
Commit 062aece2 authored by dg's avatar dg
Browse files

Replaced Water's 4th tier talent with Shivgoroth Form

git-svn-id: http://svn.net-core.org/repos/t-engine4@6026 51575b47-30f0-44d4-a5cc-537603b46e54
parent 6565eb0f
No related branches found
No related tags found
No related merge requests found
game/modules/tome/data/gfx/talents/shivgoroth_form.png

3.84 KiB

......@@ -140,13 +140,41 @@ newTalent{
}
newTalent{
name = "Ice Storm",
name = "Shivgoroth Form",
type = {"spell/water",4},
require = spells_req4,
points = 5,
random_ego = "attack",
mana = 25,
cooldown = 20,
tactical = { BUFF = 3, ATTACKAREA = { COLD = 0.5, PHYSICAL = 0.5 }, DISABLE = { knockback = 1 } },
direct_hit = true,
range = 10,
requires_target = true,
getDuration = function(self, t) return 4 + math.ceil(self:getTalentLevel(t)) end,
getPower = function(self, t) return util.bound(50 + self:combatTalentSpellDamage(t, 50, 450), 0, 500) / 500 end,
action = function(self, t)
self:setEffect(self.EFF_SHIVGOROTH_FORM, t.getDuration(self, t), {power=t.getPower(self, t), lvl=self:getTalentLevelRaw(t)})
game:playSoundNear(self, "talents/tidalwave")
return true
end,
info = function(self, t)
local power = t.getPower(self, t)
local dur = t.getDuration(self, t)
return ([[You absorb latent cold around you, turning into an ice elemental - a shivgoroth - for %d turns.
While transformed you gain access to the Ice Storm talent level %d, %d%% resistance to cuts and stuns, %d%% cold resistance, you do not need to breath and all cold damage heals you for %d%% of the damage done.
The power will increase with your Spellpower.]]):
format(dur, self:getTalentLevelRaw(t), power * 100, power * 100 / 2, 50 + power * 100)
end,
}
newTalent{
name = "Ice Storm",
type = {"spell/other",1},
points = 5,
random_ego = "attack",
mana = 25,
cooldown = 20,
tactical = { ATTACKAREA = { COLD = 2, stun = 1 } },
range = 0,
radius = 3,
......
......@@ -2092,3 +2092,53 @@ newEffect{
game.level.map:updateMap(self.x, self.y)
end,
}
newEffect{
name = "SHIVGOROTH_FORM", image = "shockbolt/npc/elemental_void_losgoroth_corrupted.png",
desc = "Shivgoroth Form",
long_desc = function(self, eff) return ("The target assumes the form of a shivgoroth."):format() end,
type = "magical",
subtype = { ice=true },
status = "beneficial",
parameters = {},
on_gain = function(self, err) return "#Target# turns into a shivgoroth!", "+Shivgoroth Form" end,
on_lose = function(self, err) return "#Target# is no longer transformed.", "-Shivgoroth Form" end,
activate = function(self, eff)
self:effectTemporaryValue(eff, "damage_affinity", {[DamageType.COLD]=50 + 100 * eff.power})
self:effectTemporaryValue(eff, "resists", {[DamageType.COLD]=100 * eff.power / 2})
self:effectTemporaryValue(eff, "no_breath", 1)
self:effectTemporaryValue(eff, "cut_immune", eff.power)
self:effectTemporaryValue(eff, "stun_immune", eff.power)
if self.hotkey then
local pos = self:isHotkeyBound("talent", self.T_SHIVGOROTH_FORM)
if pos then
self.hotkey[pos] = {"talent", self.T_ICE_STORM}
end
end
local ohk = self.hotkey
self.hotkey = nil -- Prevent assigning hotkey, we just did
self:learnTalent(self.T_ICE_STORM, true, eff.lvl)
self.hotkey = ohk
self.replace_display = mod.class.Actor.new{
image = "npc/elemental_void_losgoroth_corrupted.png",
}
self:removeAllMOs()
game.level.map:updateMap(self.x, self.y)
end,
deactivate = function(self, eff)
if self.hotkey then
local pos = self:isHotkeyBound("talent", self.T_ICE_STORM)
if pos then
self.hotkey[pos] = {"talent", self.T_SHIVGOROTH_FORM}
end
end
self:unlearnTalent(self.T_ICE_STORM, eff.lvl)
self.replace_display = nil
self:removeAllMOs()
game.level.map:updateMap(self.x, self.y)
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