Skip to content
Snippets Groups Projects
Commit a529672d authored by Eric Wykoff's avatar Eric Wykoff
Browse files

scaling on warden weapon talents

parent 63cdeb60
No related branches found
No related tags found
No related merge requests found
......@@ -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,
......
......@@ -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,
......
......@@ -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)
......
......@@ -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
......
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