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

Deflection now regens on rest, displays its current value on the icon, absorbs...

Deflection now regens on rest, displays its current value on the icon, absorbs more damage and regens faster
parent 0819f535
No related branches found
No related tags found
No related merge requests found
......@@ -124,7 +124,7 @@ Done.]],
newChat{ id="farportal",
text = [[Long ago the Sher'tuls used farportals not only for transportation to known locations, but also to explore new parts of the world, or even other worlds.
This Fortress is equipped with an exploratory farportal, and now has enough energy to allow one teleportation. Each teleportation will take you to a random part of the universe and use 30 energy.
This Fortress is equipped with an exploratory farportal, and now has enough energy to allow one teleportation. Each teleportation will take you to a random part of the universe and use 45 energy.
Beware that the return portal may not be nearby your arrival point; you will need to find it. You can use the rod of recall to try to force an emergency recall, but it has high chances of breaking the exploratory farportal forever.
You may use the farportal; however, beware - I sense a strange presence in the farportal room.]],
answers = {
......
......@@ -156,12 +156,20 @@ newTalent{
tactical = { DEFEND = 2 },
no_sustain_autoreset = true,
getMaxDamage = function(self, t)
return self:combatTalentMindDamage(t, 0, 240)
return self:combatTalentMindDamage(t, 0, 400)
end,
getDisplayName = function(self, t, p)
return ("Deflection (%d)"):format(p.value)
end,
iconOverlay = function(self, t, p)
local val = p.value or 0
if val <= 0 then return "" end
local fnt = "buff_font_small"
if val >= 1000 then fnt = "buff_font_smaller" end
return tostring(math.ceil(val)), fnt
end,
critpower = function(self, t) return self:combatTalentScale(t, 4, 15) end,
getRechargeRate = function(self, t) return self:combatTalentLimit(t, 5, 35, 10) end,
activate = function(self, t)
game:playSoundNear(self, "talents/spell_generic2")
return {
......@@ -174,13 +182,17 @@ newTalent{
p.particles = nil
return true
end,
callbackOnRest = function(self, t)
local p = self.sustain_talents[t.id]
if not p or p.value < t.getMaxDamage(self, t) then return true end
end,
callbackOnActBase = function(self, t)
local p = self:isTalentActive(t.id)
local maxDamage = t.getMaxDamage(self, t)
if p.value < maxDamage and self.hate >= 0.2 then
self:incHate(-0.2)
p.value = math.min(p.value + maxDamage / 35, maxDamage)
p.value = math.min(p.value + maxDamage / t.getRechargeRate(self, t), maxDamage)
p.__update_display = true
t.updateParticles(self, t, p)
......@@ -214,9 +226,10 @@ newTalent{
end,
info = function(self, t)
local maxDamage = t.getMaxDamage(self, t)
return ([[Create a barrier that siphons hate from you at the rate of 0.2 a turn. The barrier will deflect 50%% of incoming damage with the force of your will, up to %d damage. The barrier charges at a rate of 1/35th of its maximum charge per turn.
local recharge_rate = t.getRechargeRate(self, t)
return ([[Create a barrier that siphons hate from you at the rate of 0.2 a turn. The barrier will deflect 50%% of incoming damage with the force of your will, up to %d damage. The barrier charges at a rate of 1/%d of its maximum charge per turn.
In addition, your ability to channel force with this talent increases all critical damage by %d%% (currently: %d%%)
The maximum damage deflected increases with your Mindpower.]]):format(maxDamage, t.critpower(self, t),self.combat_critical_power or 0)
The maximum damage deflected increases with your Mindpower.]]):format(maxDamage, recharge_rate, t.critpower(self, t),self.combat_critical_power or 0)
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