diff --git a/game/modules/tome/data/talents/chronomancy/blade-threading.lua b/game/modules/tome/data/talents/chronomancy/blade-threading.lua index 87b1c5ee5dbc73b85fae7d2f9eb7559a69d6b1a5..e216a330634db5252a7b936ecd64ebb77e9f52cd 100644 --- a/game/modules/tome/data/talents/chronomancy/blade-threading.lua +++ b/game/modules/tome/data/talents/chronomancy/blade-threading.lua @@ -29,7 +29,7 @@ newTalent{ require = chrono_req1, points = 5, cooldown = 6, - paradox = function (self, t) return getParadoxCost(self, t, 10) end, + paradox = function (self, t) return getParadoxCost(self, t, 8) end, tactical = { ATTACK = {weapon = 2}, DISABLE = 3 }, requires_target = true, speed = "weapon", @@ -81,16 +81,16 @@ newTalent{ require = chrono_req2, points = 5, cooldown = 8, - paradox = function (self, t) return getParadoxCost(self, t, 15) end, + paradox = function (self, t) return getParadoxCost(self, t, 12) end, tactical = { ATTACKAREA = {weapon = 2}, DISABLE = 3 }, requires_target = true, speed = "weapon", - range = function(self, t) return 3 + math.floor(self:combatTalentLimit(t, 7, 1, 4)) end, + range = function(self, t) return 3 + math.floor(self:combatTalentLimit(t, 7, 0, 3)) end, is_melee = true, target = function(self, t) return {type="beam", range=self:getTalentRange(t), talent=t, selffire=false } end, - getDamage = function(self, t) return self:combatTalentWeaponDamage(t, 1, 1.5) end, + getDamage = function(self, t) return self:combatTalentWeaponDamage(t, 0.8, 1.3) end, getDuration = function(self, t) return getExtensionModifier(self, t, math.floor(self:combatTalentScale(t, 3, 7))) end, getPower = function(self, t) return self:combatTalentSpellDamage(t, 50, 150, getParadoxSpellpower(self, t)) end, on_pre_use = function(self, t, silent) if not doWardenPreUse(self, "dual") then if not silent then game.logPlayer(self, "You require two weapons to use this talent.") end return false end return true end, @@ -155,7 +155,7 @@ newTalent{ require = chrono_req3, points = 5, cooldown = 8, - paradox = function (self, t) return getParadoxCost(self, t, 15) end, + paradox = function (self, t) return getParadoxCost(self, t, 12) end, tactical = { ATTACKAREA = {weapon = 2}, ATTACK = {weapon = 2}, }, requires_target = true, is_teleport = true, @@ -163,7 +163,7 @@ newTalent{ range = 1, is_melee = true, target = function(self, t) return {type="hit", range=self:getTalentRange(t), talent=t} end, - getDamage = function(self, t) return self:combatTalentWeaponDamage(t, 0.6, 1.2) end, + getDamage = function(self, t) return self:combatTalentWeaponDamage(t, 0.4, 1) end, getTeleports = function(self, t) return self:getTalentLevel(t) >= 5 and 2 or 1 end, on_pre_use = function(self, t, silent) if not doWardenPreUse(self, "dual") then if not silent then game.logPlayer(self, "You require two weapons to use this talent.") end return false end return true end, action = function(self, t) @@ -265,7 +265,7 @@ newTalent{ require = chrono_req4, points = 5, cooldown = 12, - paradox = function (self, t) return getParadoxCost(self, t, 10) end, + paradox = function (self, t) return getParadoxCost(self, t, 18) end, tactical = { ATTACK = {weapon = 2}, ATTACKAREA = { TEMPORAL = 2 }}, requires_target = true, speed = "weapon", @@ -273,7 +273,7 @@ newTalent{ radius = function(self, t) return math.floor(self:combatTalentScale(t, 4.5, 6.5)) end, is_melee = true, getDamage = function(self, t) return self:combatTalentWeaponDamage(t, 1, 1.5) end, - getShear = function(self, t) return self:combatTalentSpellDamage(t, 20, 150, getParadoxSpellpower(self, t)) end, + getShear = function(self, t) return self:combatTalentSpellDamage(t, 20, 200, getParadoxSpellpower(self, t)) end, target = function(self, t) return {type="cone", range=0, radius=self:getTalentRadius(t), talent=t, selffire=false } end, diff --git a/game/modules/tome/data/talents/chronomancy/bow-threading.lua b/game/modules/tome/data/talents/chronomancy/bow-threading.lua index 8ca9cbcda0acdc504f8b79b43f4dd54013474880..5d541a46c209dc6c6cf1f899959a3e931e8eb7b7 100644 --- a/game/modules/tome/data/talents/chronomancy/bow-threading.lua +++ b/game/modules/tome/data/talents/chronomancy/bow-threading.lua @@ -73,7 +73,7 @@ newTalent{ require = chrono_req2, points = 5, cooldown = 6, - paradox = function (self, t) return getParadoxCost(self, t, 10) end, + paradox = function (self, t) return getParadoxCost(self, t, 12) end, tactical = { ATTACK = {weapon = 4} }, requires_target = true, range = archery_range, @@ -160,7 +160,7 @@ newTalent{ require = chrono_req3, points = 5, cooldown = 10, - paradox = function (self, t) return getParadoxCost(self, t, 15) end, + paradox = function (self, t) return getParadoxCost(self, t, 18) end, tactical = { ATTACKAREA = {PHYSICAL = 2}, DISABLE = 2 }, requires_target = true, range = archery_range, @@ -259,7 +259,7 @@ newTalent{ require = chrono_req4, points = 5, cooldown = 12, - paradox = function (self, t) return getParadoxCost(self, t, 10) end, + paradox = function (self, t) return getParadoxCost(self, t, 24) end, tactical = { ATTACK = {weapon = 4} }, requires_target = true, range = archery_range, diff --git a/game/modules/tome/data/talents/chronomancy/temporal-combat.lua b/game/modules/tome/data/talents/chronomancy/temporal-combat.lua index 750beadab94df41e849a113e8031070ba4e32f3f..bc0e27ac738887893118159557ed1778d1dbfdb1 100644 --- a/game/modules/tome/data/talents/chronomancy/temporal-combat.lua +++ b/game/modules/tome/data/talents/chronomancy/temporal-combat.lua @@ -211,7 +211,7 @@ newTalent{ type = {"chronomancy/temporal-combat", 2}, require = chrono_req2, points = 5, - paradox = function (self, t) return getParadoxCost(self, t, 20) end, + paradox = function (self, t) return getParadoxCost(self, t, 24) end, cooldown = 24, fixed_cooldown = true, tactical = { HEAL = 1 }, @@ -281,15 +281,15 @@ newTalent{ require = chrono_req4, points = 5, cooldown = 8, - paradox = function (self, t) return getParadoxCost(self, t, 15) end, + paradox = function (self, t) return getParadoxCost(self, t, 12) end, tactical = { ATTACK = {weapon = 2}, DISABLE = 3 }, requires_target = true, range = function(self, t) - if self:hasArcheryWeapon("bow") then return util.getval(archery_range, self, t) end + if self:hasArcheryWeapon() then return util.getval(archery_range, self, t) end return 1 end, - is_melee = function(self, t) return not self:hasArcheryWeapon("bow") end, - speed = function(self, t) return self:hasArcheryWeapon("bow") and "archery" or "weapon" end, + is_melee = function(self, t) return not self:hasArcheryWeapon() end, + speed = function(self, t) return self:hasArcheryWeapon() and "archery" or "weapon" end, getDamage = function(self, t) return self:combatTalentWeaponDamage(t, 1, 1.5) end, getDuration = function(self, t) return getExtensionModifier(self, t, math.floor(self:combatTalentScale(t, 3, 7))) end, on_pre_use = function(self, t, silent) if self:attr("disarmed") then if not silent then game.logPlayer(self, "You require a weapon to use this talent.") end return false end return true end, @@ -297,14 +297,13 @@ newTalent{ target:setEffect(target.EFF_BREACH, t.getDuration(self, t), {}) end, action = function(self, t) - local mainhand, offhand = self:hasDualWeapon() - if self:hasArcheryWeapon("bow") then + if self:hasArcheryWeapon() then -- Ranged attack local targets = self:archeryAcquireTargets({type="bolt"}, {one_shot=true, no_energy = true}) if not targets then return end self:archeryShoot(targets, t, {type="bolt"}, {mult=t.getDamage(self, t)}) - elseif mainhand then + else -- Melee attack local tg = {type="hit", range=self:getTalentRange(t), talent=t} local x, y, target = self:getTarget(tg) @@ -324,7 +323,7 @@ newTalent{ info = function(self, t) local duration = t.getDuration(self, t) local damage = t.getDamage(self, t) * 100 - return ([[Attack the target with either your bow or melee weapons for %d%% damage. + return ([[Attack the target with either your ranged or melee weapons for %d%% damage. If the attack hits you'll breach the target's immunities, reducing armor hardiness, stun, pin, blindness, and confusion immunity by 50%% for %d turns. Breach chance scales with your Spellpower.]]) :format(damage, duration) diff --git a/game/modules/tome/data/talents/chronomancy/threaded-combat.lua b/game/modules/tome/data/talents/chronomancy/threaded-combat.lua index 9006a23debe38c92932a911b3f381b3bc6a10865..26b0c42f54d1d6344c41a50b73f626e71aefbb1d 100644 --- a/game/modules/tome/data/talents/chronomancy/threaded-combat.lua +++ b/game/modules/tome/data/talents/chronomancy/threaded-combat.lua @@ -109,7 +109,7 @@ newTalent{ require = chrono_req_high2, mode = "passive", points = 5, - getPercent = function(self, t) return self:combatTalentScale(t, 20, 50)/100 end, + getPercent = function(self, t) return self:combatTalentScale(t, 10, 50)/100 end, info = function(self, t) local percent = t.getPercent(self, t) * 100 return ([[Your Bow Threading and Blade Threading attacks now deal %d%% more weapon damage if you did not have the appropriate weapon equipped when you initiated the attack.]]) @@ -124,7 +124,7 @@ newTalent{ points = 5, cooldown = 8, fixed_cooldown = true, - paradox = function (self, t) return getParadoxCost(self, t, 15) end, + paradox = function (self, t) return getParadoxCost(self, t, 18) end, tactical = { ATTACKAREA = { weapon = 3 } , DISABLE = 3 }, requires_target = true, range = function(self, t) @@ -204,7 +204,7 @@ newTalent{ require = chrono_req_high4, mode = "passive", points = 5, - getDamagePenalty = function(self, t) return 60 - self:combatTalentLimit(t, 30, 0, 20) end, + getDamagePenalty = function(self, t) return 80 - self:combatTalentLimit(t, 80, 0, 60) end, doBladeWarden = function(self, t, target) -- Sanity check if not self.turn_procs.blade_warden then