Skip to content
Snippets Groups Projects
Commit e7935be6 authored by DarkGod's avatar DarkGod
Browse files

Switched Manathrust and Arcane Power spots

Switched Pulverizing Auger and Stone Skin spots
parent d540dc03
No related branches found
No related tags found
No related merge requests found
Pipeline #
......@@ -17,44 +17,11 @@
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org
newTalent{
name = "Arcane Power",
type = {"spell/arcane", 1},
mode = "sustained",
require = spells_req1,
sustain_mana = 25,
points = 5,
cooldown = 30,
tactical = { BUFF = 2 },
use_only_arcane = 1,
getSpellpowerIncrease = function(self, t) return self:combatTalentScale(t, 5, 20, 0.75) end,
getArcaneResist = function(self, t) return 5 + self:combatTalentSpellDamage(t, 10, 500) / 18 end,
activate = function(self, t)
game:playSoundNear(self, "talents/arcane")
return {
res = self:addTemporaryValue("resists", {[DamageType.ARCANE] = t.getArcaneResist(self, t)}),
display_resist = t.getArcaneResist(self, t),
power = self:addTemporaryValue("combat_spellpower", t.getSpellpowerIncrease(self, t)),
particle = self:addParticles(Particles.new("arcane_power", 1)),
}
end,
deactivate = function(self, t, p)
self:removeParticles(p.particle)
self:removeTemporaryValue("combat_spellpower", p.power)
self:removeTemporaryValue("resists", p.res)
return true
end,
info = function(self, t)
local resist = self.sustain_talents[t.id] and self.sustain_talents[t.id].display_resist or t.getArcaneResist(self, t)
return ([[Your mastery of magic allows you to enter a state of deep concentration, increasing your Spellpower by %d and arcane resistance by %d%%.]]):
format(t.getSpellpowerIncrease(self, t), resist)
end,
}
newTalent{
name = "Manathrust",
type = {"spell/arcane", 2},
require = spells_req2,
type = {"spell/arcane", 1},
require = spells_req1,
points = 5,
random_ego = "attack",
mana = 10,
......@@ -94,6 +61,40 @@ newTalent{
end,
}
newTalent{
name = "Arcane Power",
type = {"spell/arcane", 2},
mode = "sustained",
require = spells_req2,
sustain_mana = 25,
points = 5,
cooldown = 30,
tactical = { BUFF = 2 },
use_only_arcane = 1,
getSpellpowerIncrease = function(self, t) return self:combatTalentScale(t, 5, 20, 0.75) end,
getArcaneResist = function(self, t) return 5 + self:combatTalentSpellDamage(t, 10, 500) / 18 end,
activate = function(self, t)
game:playSoundNear(self, "talents/arcane")
return {
res = self:addTemporaryValue("resists", {[DamageType.ARCANE] = t.getArcaneResist(self, t)}),
display_resist = t.getArcaneResist(self, t),
power = self:addTemporaryValue("combat_spellpower", t.getSpellpowerIncrease(self, t)),
particle = self:addParticles(Particles.new("arcane_power", 1)),
}
end,
deactivate = function(self, t, p)
self:removeParticles(p.particle)
self:removeTemporaryValue("combat_spellpower", p.power)
self:removeTemporaryValue("resists", p.res)
return true
end,
info = function(self, t)
local resist = self.sustain_talents[t.id] and self.sustain_talents[t.id].display_resist or t.getArcaneResist(self, t)
return ([[Your mastery of magic allows you to enter a state of deep concentration, increasing your Spellpower by %d and arcane resistance by %d%%.]]):
format(t.getSpellpowerIncrease(self, t), resist)
end,
}
newTalent{
name = "Arcane Vortex",
type = {"spell/arcane", 3},
......
......@@ -19,11 +19,52 @@
local Object = require "mod.class.Object"
newTalent{
name = "Pulverizing Auger", short_name="DIG",
type = {"spell/earth",1},
require = spells_req1,
points = 5,
mana = 15,
cooldown = 6,
range = function(self, t) return math.min(10, math.floor(self:combatTalentScale(t, 3, 7))) end,
tactical = { ATTACK = {PHYSICAL = 2} },
direct_hit = true,
requires_target = true,
target = function(self, t)
local tg = {type="beam", range=self:getTalentRange(t), talent=t}
return tg
end,
allow_for_arcane_combat = true,
getDigs = function(self, t) return math.floor(self:combatTalentScale(t, 1, 5, "log")) end,
getDamage = function(self, t) return self:combatTalentSpellDamage(t, 30, 300) 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
for i = 1, t.getDigs(self, t) do self:project(tg, x, y, DamageType.DIG, 1) end
self:project(tg, x, y, DamageType.PHYSICAL, self:spellCrit(t.getDamage(self, t)), nil)
local _ _, x, y = self:canProject(tg, x, y)
game.level.map:particleEmitter(self.x, self.y, math.max(math.abs(x-self.x), math.abs(y-self.y)), "earth_beam", {tx=x-self.x, ty=y-self.y})
game:playSoundNear(self, "talents/earth")
return true
end,
info = function(self, t)
local damage = t.getDamage(self, t)
local nb = t.getDigs(self, t)
return ([[Fire a powerful beam of stone-shaterring force, digging out any walls in its path up to %d.
The beam also affect any creatures in its path, dealing %0.2f physical damage to all.
The damage will increase with your Spellpower.]]):
format(nb, damDesc(self, DamageType.PHYSICAL, damage))
end,
}
newTalent{
name = "Stone Skin",
type = {"spell/earth", 1},
type = {"spell/earth", 2},
mode = "sustained",
require = spells_req1,
require = spells_req2,
points = 5,
sustain_mana = 30,
cooldown = 10,
......@@ -71,47 +112,6 @@ newTalent{
end,
}
newTalent{
name = "Pulverizing Auger", short_name="DIG",
type = {"spell/earth",2},
require = spells_req2,
points = 5,
mana = 15,
cooldown = 6,
range = function(self, t) return math.min(10, math.floor(self:combatTalentScale(t, 3, 7))) end,
tactical = { ATTACK = {PHYSICAL = 2} },
direct_hit = true,
requires_target = true,
target = function(self, t)
local tg = {type="beam", range=self:getTalentRange(t), talent=t}
return tg
end,
allow_for_arcane_combat = true,
getDigs = function(self, t) return math.floor(self:combatTalentScale(t, 1, 5, "log")) end,
getDamage = function(self, t) return self:combatTalentSpellDamage(t, 30, 300) 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
for i = 1, t.getDigs(self, t) do self:project(tg, x, y, DamageType.DIG, 1) end
self:project(tg, x, y, DamageType.PHYSICAL, self:spellCrit(t.getDamage(self, t)), nil)
local _ _, x, y = self:canProject(tg, x, y)
game.level.map:particleEmitter(self.x, self.y, math.max(math.abs(x-self.x), math.abs(y-self.y)), "earth_beam", {tx=x-self.x, ty=y-self.y})
game:playSoundNear(self, "talents/earth")
return true
end,
info = function(self, t)
local damage = t.getDamage(self, t)
local nb = t.getDigs(self, t)
return ([[Fire a powerful beam of stone-shaterring force, digging out any walls in its path up to %d.
The beam also affect any creatures in its path, dealing %0.2f physical damage to all.
The damage will increase with your Spellpower.]]):
format(nb, damDesc(self, DamageType.PHYSICAL, damage))
end,
}
newTalent{
name = "Mudslide",
type = {"spell/earth",3},
......
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