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

Merge branch 'edge2054/t-engine4-nerf_timeless'

parents 82256096 e0d117b0
No related branches found
No related tags found
No related merge requests found
......@@ -42,6 +42,7 @@ newTalent{
tactical = { BUFF = 2 },
positive = 10,
negative = 10,
fixed_cooldown = true,
getDuration = function(self, t) return math.floor(self:combatTalentScale(t, 5, 9)) end,
getResistancePenetration = function(self, t) return self:combatLimit(self:getCun()*self:getTalentLevel(t), 100, 5, 0, 55, 500) end, -- Limit to <100%
getCooldownReduction = function(self, t) return math.floor(self:combatTalentScale(t, 2, 6)) end,
......
......@@ -108,14 +108,17 @@ newTalent{
stamina = 50,
cooldown = 50,
tactical = { BUFF = 1 },
fixed_cooldown = true,
getTalentCount = function(self, t) return math.floor(self:combatTalentScale(t, 2, 7, "log")) end,
getMaxLevel = function(self, t) return self:getTalentLevel(t) end,
action = function(self, t)
local tids = {}
for tid, _ in pairs(self.talents_cd) do
local tt = self:getTalentFromId(tid)
if tt.type[2] <= t.getMaxLevel(self, t) and (tt.type[1]:find("^cunning/") or tt.type[1]:find("^technique/")) then
tids[#tids+1] = tid
if not tt.fixed_cooldown then
if tt.type[2] <= t.getMaxLevel(self, t) and (tt.type[1]:find("^cunning/") or tt.type[1]:find("^technique/")) then
tids[#tids+1] = tid
end
end
end
for i = 1, t.getTalentCount(self, t) do
......
......@@ -146,6 +146,7 @@ newTalent{
cooldown = 50,
range = 10,
tactical = { BUFF = 2 },
fixed_cooldown = true,
getTalentCount = function(self, t) return math.floor(self:combatTalentScale(t, 2, 7, "log")) end,
getMaxLevel = function(self, t) return self:getTalentLevel(t) end,
action = function(self, t)
......@@ -154,8 +155,10 @@ newTalent{
local tids = {}
for tid, _ in pairs(self.talents_cd) do
local tt = self:getTalentFromId(tid)
if tt.type[2] <= maxlev and tt.type[1]:find("^wild%-gift/") then
tids[#tids+1] = tid
if not tt.fixed_cooldown then
if tt.type[2] <= maxlev and tt.type[1]:find("^wild%-gift/") then
tids[#tids+1] = tid
end
end
end
for i = 1, nb do
......
......@@ -510,14 +510,17 @@ newTalent{
equilibrium = 20,
cooldown = 50,
range = 10,
fixed_cooldown = true,
tactical = { BUFF = 2 },
action = function(self, t)
local nb = 3
local tids = {}
for tid, _ in pairs(self.talents_cd) do
local tt = self:getTalentFromId(tid)
if tt.type[1]:find("^wild%-gift/") or tt.type[1]:find("psionic/") or tt.type[1]:find("cursed/") then
tids[#tids+1] = tid
if not tt.fixed_cooldown then
if tt.type[1]:find("^wild%-gift/") or tt.type[1]:find("psionic/") or tt.type[1]:find("cursed/") then
tids[#tids+1] = tid
end
end
end
for i = 1, nb do
......
......@@ -211,6 +211,7 @@ newTalent{
require = racial_req4,
points = 5,
no_energy = true,
fixed_cooldown = true,
cooldown = function(self, t) return math.ceil(self:combatTalentLimit(t, 20, 47, 35)) end, -- Limit to >20
getEffectGood = function(self, t) return math.floor(self:combatTalentScale(t, 1, 5, "log")) end,
getEffectBad = function(self, t) return math.floor(self:combatTalentScale(t, 2.9, 10.01, "log")) end,
......@@ -253,7 +254,7 @@ newTalent{
local tids = {}
for tid, lev in pairs(self.talents) do
local t = self:getTalentFromId(tid)
if t and self.talents_cd[tid] then tids[#tids+1] = t end
if t and self.talents_cd[tid] and not t.fixed_cooldown then tids[#tids+1] = t end
end
while #tids > 0 do
local tt = rng.tableRemove(tids)
......@@ -267,7 +268,7 @@ newTalent{
end,
info = function(self, t)
return ([[The world grows old as you stand through the ages. To you, time is different.
Reduces the time remaining on detrimental effects by %d, cooling down talents by %d, and increases the time remaining on beneficial effects by %d (up to 2 times the current duration).]]):
Reduces the time remaining on detrimental effects by %d, most cooling down talents by %d, and increases the time remaining on beneficial effects by %d (up to 2 times the current duration).]]):
format(t.getEffectBad(self, t), t.getEffectGood(self, t), t.getEffectGood(self, t))
end,
}
......
......@@ -158,6 +158,7 @@ newTalent{
points = 5,
mana = 70,
cooldown = 50,
fixed_cooldown = true,
tactical = { BUFF = 2 },
getTalentCount = function(self, t) return math.floor(self:combatTalentScale(t, 2, 7, "log")) end,
getMaxLevel = function(self, t) return self:getTalentLevel(t) end,
......@@ -165,8 +166,10 @@ newTalent{
local tids = {}
for tid, _ in pairs(self.talents_cd) do
local tt = self:getTalentFromId(tid)
if tt.type[2] <= t.getMaxLevel(self, t) and tt.is_spell then
tids[#tids+1] = tid
if not tt.fixed_cooldown then
if tt.type[2] <= t.getMaxLevel(self, t) and tt.is_spell then
tids[#tids+1] = tid
end
end
end
for i = 1, t.getTalentCount(self, t) do
......@@ -181,7 +184,7 @@ newTalent{
info = function(self, t)
local talentcount = t.getTalentCount(self, t)
local maxlevel = t.getMaxLevel(self, t)
return ([[Your mastery of the arcane flows allow you to reset the cooldown of %d of your spells of tier %d or less.]]):
return ([[Your mastery of the arcane flows allow you to reset the cooldown of %d of most of your spells of tier %d or less.]]):
format(talentcount, maxlevel)
end,
}
......@@ -222,30 +222,32 @@ uberTalent{
for tid, _ in pairs(self.talents_cd) do
local t = self:getTalentFromId(tid)
if
(kind == "physical" and
(
t.type[1]:find("^technique/") or
t.type[1]:find("^cunning/")
if not t.fixed_cooldown then
if
(kind == "physical" and
(
t.type[1]:find("^technique/") or
t.type[1]:find("^cunning/")
)
) or
(kind == "spell" and
(
t.type[1]:find("^spell/") or
t.type[1]:find("^corruption/") or
t.type[1]:find("^celestial/") or
t.type[1]:find("^chronomancy/")
)
) or
(kind == "mind" and
(
t.type[1]:find("^wild%-gift/") or
t.type[1]:find("^cursed/") or
t.type[1]:find("^psionic/")
)
)
) or
(kind == "spell" and
(
t.type[1]:find("^spell/") or
t.type[1]:find("^corruption/") or
t.type[1]:find("^celestial/") or
t.type[1]:find("^chronomancy/")
)
) or
(kind == "mind" and
(
t.type[1]:find("^wild%-gift/") or
t.type[1]:find("^cursed/") or
t.type[1]:find("^psionic/")
)
)
then
tids[#tids+1] = tid
then
tids[#tids+1] = tid
end
end
end
if #tids == 0 then return 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