From b76bc4b494ecf039634a3217dcf976281057f6f2 Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Fri, 7 Jan 2011 16:57:56 +0000 Subject: [PATCH] Changed the maximun range/sight for players & NPCs from 20 to 10, thus reducing the offscreen rays of deaths, increasing tactical value and allowing for bigger tiles git-svn-id: http://svn.net-core.org/repos/t-engine4@2309 51575b47-30f0-44d4-a5cc-537603b46e54 --- game/modules/tome/class/Actor.lua | 2 +- game/modules/tome/class/NPC.lua | 4 +- game/modules/tome/class/Player.lua | 2 +- game/modules/tome/class/interface/Archery.lua | 4 +- .../tome/data/general/objects/bows.lua | 10 ++-- .../tome/data/general/objects/slings.lua | 10 ++-- .../chronomancy/advanced-timetravel.lua | 4 +- .../data/talents/chronomancy/chronomancy.lua | 4 +- .../tome/data/talents/chronomancy/energy.lua | 4 +- .../tome/data/talents/chronomancy/entropy.lua | 6 +-- .../tome/data/talents/chronomancy/gravity.lua | 6 +-- .../tome/data/talents/chronomancy/inertia.lua | 8 +-- .../tome/data/talents/chronomancy/matter.lua | 8 +-- .../tome/data/talents/chronomancy/paradox.lua | 4 +- .../talents/chronomancy/temporal-combat.lua | 4 +- .../data/talents/chronomancy/threading.lua | 4 +- .../tome/data/talents/chronomancy/weaving.lua | 2 +- .../tome/data/talents/corruptions/blight.lua | 4 +- .../tome/data/talents/corruptions/blood.lua | 4 +- .../tome/data/talents/corruptions/bone.lua | 4 +- .../tome/data/talents/corruptions/curses.lua | 8 +-- .../tome/data/talents/corruptions/hexes.lua | 8 +-- .../tome/data/talents/corruptions/plague.lua | 8 +-- .../data/talents/corruptions/sanguisuge.lua | 8 +-- .../data/talents/corruptions/shadowflame.lua | 4 +- .../tome/data/talents/corruptions/vim.lua | 4 +- .../data/talents/cunning/shadow-magic.lua | 2 +- .../tome/data/talents/cunning/traps.lua | 10 ++-- .../tome/data/talents/cursed/dark-figure.lua | 4 +- .../data/talents/cursed/dark-sustenance.lua | 10 ++-- .../tome/data/talents/cursed/darkness.lua | 14 ++--- .../tome/data/talents/cursed/endless-hunt.lua | 4 +- .../data/talents/cursed/force-of-will.lua | 54 +++++++++---------- .../tome/data/talents/cursed/punishments.lua | 2 +- .../tome/data/talents/cursed/shadows.lua | 6 +-- .../tome/data/talents/divine/chants.lua | 8 +-- .../tome/data/talents/divine/combat.lua | 4 +- .../tome/data/talents/divine/eclipse.lua | 6 +-- .../tome/data/talents/divine/guardian.lua | 2 +- .../tome/data/talents/divine/hymns.lua | 8 +-- .../tome/data/talents/divine/star-fury.lua | 6 +-- game/modules/tome/data/talents/divine/sun.lua | 4 +- .../tome/data/talents/divine/twilight.lua | 4 +- .../tome/data/talents/gifts/antimagic.lua | 6 +-- game/modules/tome/data/talents/gifts/call.lua | 4 +- .../tome/data/talents/gifts/cold-drake.lua | 4 +- .../tome/data/talents/gifts/fire-drake.lua | 2 +- .../tome/data/talents/gifts/sand-drake.lua | 4 +- .../modules/tome/data/talents/gifts/slime.lua | 4 +- .../tome/data/talents/gifts/storm-drake.lua | 4 +- .../talents/gifts/summon-augmentation.lua | 6 +-- .../data/talents/gifts/summon-distance.lua | 10 ++-- .../tome/data/talents/gifts/summon-melee.lua | 8 +-- .../data/talents/gifts/summon-utility.lua | 12 ++--- game/modules/tome/data/talents/misc/npcs.lua | 36 ++++++------- .../tome/data/talents/psionic/absorption.lua | 28 +++++----- game/modules/tome/data/talents/spells/air.lua | 6 +-- .../tome/data/talents/spells/arcane.lua | 2 +- .../tome/data/talents/spells/conveyance.lua | 2 +- .../tome/data/talents/spells/divination.lua | 2 +- .../tome/data/talents/spells/earth.lua | 6 +-- .../tome/data/talents/spells/enhancement.lua | 2 +- .../tome/data/talents/spells/explosives.lua | 4 +- .../tome/data/talents/spells/fire-alchemy.lua | 6 +-- .../modules/tome/data/talents/spells/fire.lua | 6 +-- .../tome/data/talents/spells/golem.lua | 8 +-- game/modules/tome/data/talents/spells/ice.lua | 4 +- .../modules/tome/data/talents/spells/meta.lua | 2 +- .../tome/data/talents/spells/staff-combat.lua | 3 +- .../data/talents/spells/stone-alchemy.lua | 3 -- .../tome/data/talents/spells/stone.lua | 4 +- .../tome/data/talents/spells/storm.lua | 4 +- .../tome/data/talents/spells/temporal.lua | 6 +-- .../tome/data/talents/spells/water.lua | 4 +- .../tome/data/talents/spells/wildfire.lua | 4 +- .../tome/data/talents/techniques/archery.lua | 12 ++--- .../tome/data/talents/techniques/bow.lua | 8 +-- .../talents/techniques/combat-techniques.lua | 2 +- .../data/talents/techniques/field-control.lua | 4 +- .../talents/techniques/magical-combat.lua | 8 +-- .../tome/data/talents/techniques/sling.lua | 6 +-- .../tome/data/talents/undeads/ghoul.lua | 2 +- 82 files changed, 266 insertions(+), 268 deletions(-) diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua index 1280488f21..5257a871c8 100644 --- a/game/modules/tome/class/Actor.lua +++ b/game/modules/tome/class/Actor.lua @@ -92,7 +92,7 @@ function _M:init(t, no_default) t.healing_factor = t.healing_factor or 1 - t.sight = t.sight or 20 + t.sight = t.sight or 10 t.resource_pool_refs = t.resource_pool_refs or {} diff --git a/game/modules/tome/class/NPC.lua b/game/modules/tome/class/NPC.lua index 7ad5b254d8..7a92b48ff1 100644 --- a/game/modules/tome/class/NPC.lua +++ b/game/modules/tome/class/NPC.lua @@ -62,9 +62,9 @@ function _M:doFOV() -- end -- If the actor has no special vision we can use the default cache if not self.special_vision then - self:computeFOV(self.sight or 20, "block_sight", nil, nil, nil, true) + self:computeFOV(self.sight or 10, "block_sight", nil, nil, nil, true) else - self:computeFOV(self.sight or 20, "block_sight") + self:computeFOV(self.sight or 10, "block_sight") end end diff --git a/game/modules/tome/class/Player.lua b/game/modules/tome/class/Player.lua index f67576409a..85a112bd48 100644 --- a/game/modules/tome/class/Player.lua +++ b/game/modules/tome/class/Player.lua @@ -276,7 +276,7 @@ function _M:playerFOV() if game.zone.wilderness_see_radius then self:computeFOV(game.zone.wilderness_see_radius, "block_sight", function(x, y, dx, dy, sqdist) game.level.map:applyLite(x, y, wild_fovdist[sqdist]) end, true, true, true) else - self:computeFOV(self.sight or 20, "block_sight", function(x, y, dx, dy, sqdist) + self:computeFOV(self.sight or 10, "block_sight", function(x, y, dx, dy, sqdist) game.level.map:apply(x, y, fovdist[sqdist]) end, true, false, true) if self.lite <= 0 then game.level.map:applyLite(self.x, self.y) diff --git a/game/modules/tome/class/interface/Archery.lua b/game/modules/tome/class/interface/Archery.lua index 8cad7fba9f..a46ad8d3ea 100644 --- a/game/modules/tome/class/interface/Archery.lua +++ b/game/modules/tome/class/interface/Archery.lua @@ -43,7 +43,7 @@ function _M:archeryAcquireTargets(tg, params) local tg = tg or {type="bolt"} - if not tg.range then tg.range=weapon.range or 10 end + if not tg.range then tg.range=weapon.range or 6 end tg.display = tg.display or {display='/'} tg.speed = (tg.speed or 20) * (ammo.travel_speed or 100) / 100 local x, y = self:getTarget(tg) @@ -197,7 +197,7 @@ function _M:archeryShoot(targets, talent, tg, params) local tg = tg or {type="bolt"} tg.talent = tg.talent or talent - if not tg.range then tg.range=weapon.range or 10 end + if not tg.range then tg.range=weapon.range or 6 end tg.display = tg.display or {display='/'} tg.speed = (tg.speed or 20) * (ammo.travel_speed or 100) / 100 tg.archery = params or {} diff --git a/game/modules/tome/data/general/objects/bows.lua b/game/modules/tome/data/general/objects/bows.lua index 0fe0e26d0a..c36c96b6f5 100644 --- a/game/modules/tome/data/general/objects/bows.lua +++ b/game/modules/tome/data/general/objects/bows.lua @@ -40,7 +40,7 @@ newEntity{ base = "BASE_LONGBOW", cost = 5, material_level = 1, combat = { - range = 8, + range = 6, physspeed = 0.8, }, basic_ammo = { @@ -58,7 +58,7 @@ newEntity{ base = "BASE_LONGBOW", cost = 10, material_level = 2, combat = { - range = 10, + range = 7, physspeed = 0.8, }, basic_ammo = { @@ -76,7 +76,7 @@ newEntity{ base = "BASE_LONGBOW", cost = 15, material_level = 3, combat = { - range = 12, + range = 8, physspeed = 0.8, }, basic_ammo = { @@ -94,7 +94,7 @@ newEntity{ base = "BASE_LONGBOW", cost = 25, material_level = 4, combat = { - range = 15, + range = 9, physspeed = 0.8, }, basic_ammo = { @@ -112,7 +112,7 @@ newEntity{ base = "BASE_LONGBOW", cost = 35, material_level = 5, combat = { - range = 18, + range = 10, physspeed = 0.8, }, basic_ammo = { diff --git a/game/modules/tome/data/general/objects/slings.lua b/game/modules/tome/data/general/objects/slings.lua index 4010b17263..0e1dfa9536 100644 --- a/game/modules/tome/data/general/objects/slings.lua +++ b/game/modules/tome/data/general/objects/slings.lua @@ -39,7 +39,7 @@ newEntity{ base = "BASE_SLING", cost = 5, material_level = 1, combat = { - range = 8, + range = 6, physspeed = 0.8, }, basic_ammo = { @@ -57,7 +57,7 @@ newEntity{ base = "BASE_SLING", cost = 10, material_level = 2, combat = { - range = 10, + range = 7, physspeed = 0.8, }, basic_ammo = { @@ -75,7 +75,7 @@ newEntity{ base = "BASE_SLING", cost = 15, material_level = 3, combat = { - range = 12, + range = 8, physspeed = 0.8, }, basic_ammo = { @@ -93,7 +93,7 @@ newEntity{ base = "BASE_SLING", cost = 25, material_level = 4, combat = { - range = 15, + range = 9, physspeed = 0.8, }, basic_ammo = { @@ -111,7 +111,7 @@ newEntity{ base = "BASE_SLING", cost = 35, material_level = 5, combat = { - range = 18, + range = 10, physspeed = 0.8, }, basic_ammo = { diff --git a/game/modules/tome/data/talents/chronomancy/advanced-timetravel.lua b/game/modules/tome/data/talents/chronomancy/advanced-timetravel.lua index bc90d1fa5c..b46c7f71e3 100644 --- a/game/modules/tome/data/talents/chronomancy/advanced-timetravel.lua +++ b/game/modules/tome/data/talents/chronomancy/advanced-timetravel.lua @@ -28,7 +28,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, reflectable = true, action = function(self, t) local tg = {type="beam", range=self:getTalentRange(t), talent=t} @@ -58,7 +58,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, reflectable = true, action = function(self, t) local tg = {type="bolt", range=self:getTalentRange(t), talent=t} diff --git a/game/modules/tome/data/talents/chronomancy/chronomancy.lua b/game/modules/tome/data/talents/chronomancy/chronomancy.lua index 43d3cb168e..16b5b70224 100644 --- a/game/modules/tome/data/talents/chronomancy/chronomancy.lua +++ b/game/modules/tome/data/talents/chronomancy/chronomancy.lua @@ -28,7 +28,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, reflectable = true, action = function(self, t) local tg = {type="beam", range=self:getTalentRange(t), talent=t} @@ -58,7 +58,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, reflectable = true, action = function(self, t) local tg = {type="bolt", range=self:getTalentRange(t), talent=t} diff --git a/game/modules/tome/data/talents/chronomancy/energy.lua b/game/modules/tome/data/talents/chronomancy/energy.lua index 025aca60c4..0161257044 100644 --- a/game/modules/tome/data/talents/chronomancy/energy.lua +++ b/game/modules/tome/data/talents/chronomancy/energy.lua @@ -28,7 +28,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, reflectable = true, action = function(self, t) local tg = {type="beam", range=self:getTalentRange(t), talent=t} @@ -58,7 +58,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, reflectable = true, action = function(self, t) local tg = {type="bolt", range=self:getTalentRange(t), talent=t} diff --git a/game/modules/tome/data/talents/chronomancy/entropy.lua b/game/modules/tome/data/talents/chronomancy/entropy.lua index cd17e73357..ed2a76ac13 100644 --- a/game/modules/tome/data/talents/chronomancy/entropy.lua +++ b/game/modules/tome/data/talents/chronomancy/entropy.lua @@ -31,7 +31,7 @@ newTalent{ }, reflectable = true, proj_speed = 4, - range = 20, + range = 10, direct_hit = true, requires_target = true, action = function(self, t) @@ -59,7 +59,7 @@ newTalent{ tactical = { DEFENSE = 10, }, - range = 20, + range = 10, action = function(self, t) game:playSoundNear(self, "talents/spell_generic") self:setEffect(self.EFF_ENTROPIC_SHIELD, 10, {power=self:combatTalentSpellDamage(t, 10, 50)*getParadoxModifier(self, pm)}) @@ -84,7 +84,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, reflectable = true, action = function(self, t) local tg = {type="bolt", range=self:getTalentRange(t), talent=t} diff --git a/game/modules/tome/data/talents/chronomancy/gravity.lua b/game/modules/tome/data/talents/chronomancy/gravity.lua index df8ee2c872..5ba5ebfb1a 100644 --- a/game/modules/tome/data/talents/chronomancy/gravity.lua +++ b/game/modules/tome/data/talents/chronomancy/gravity.lua @@ -28,7 +28,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 10, + range = 6, direct_hit = true, reflectable = true, requires_target = true, @@ -58,7 +58,7 @@ newTalent{ tactical = { ATTACKAREA = 10, }, - range = 10, + range = 6, direct_hit = true, reflectable = true, requires_target = true, @@ -123,7 +123,7 @@ newTalent{ tactical = { ATTACKAREA = 10, }, - range = 10, + range = 6, direct_hit = true, requires_target = true, action = function(self, t) diff --git a/game/modules/tome/data/talents/chronomancy/inertia.lua b/game/modules/tome/data/talents/chronomancy/inertia.lua index 6c40df637f..e9ed35dbe0 100644 --- a/game/modules/tome/data/talents/chronomancy/inertia.lua +++ b/game/modules/tome/data/talents/chronomancy/inertia.lua @@ -27,7 +27,7 @@ newTalent{ tactical = { DEFENSE = 10, }, - range = 20, + range = 10, action = function(self, t) game:playSoundNear(self, "talents/spell_generic") self:setEffect(self.EFF_DAMPENING_FIELD, 10, {power=self:combatTalentSpellDamage(t, 5, 40) * getParadoxModifier(self, pm)}) @@ -47,7 +47,7 @@ newTalent{ points = 5, paradox = 5, cooldown = 10, - range = 10, + range = 6, direct_hit = true, requires_target = true, action = function(self, t) @@ -78,7 +78,7 @@ newTalent{ points = 5, cooldown = 10, paradox = 5, - range = 10, + range = 6, direct_hit = true, requires_target = true, action = function(self, t) @@ -99,7 +99,7 @@ newTalent{ return true end, info = function(self, t) - return ([[***BROKEN DO NOT CAST*** Reduces the targets global speed by %d%%. The target will slowly recover all of its speed over %d turns. + return ([[***BROKEN DO NOT CAST*** Reduces the targets global speed by %d%%. The target will slowly recover all of its speed over %d turns. The chance will increase with Magic stat.]]):format(100, 3 + self:getTalentLevel(t)) end, } diff --git a/game/modules/tome/data/talents/chronomancy/matter.lua b/game/modules/tome/data/talents/chronomancy/matter.lua index 10ea7e3829..3a32ae29ca 100644 --- a/game/modules/tome/data/talents/chronomancy/matter.lua +++ b/game/modules/tome/data/talents/chronomancy/matter.lua @@ -28,7 +28,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 10, + range = 6, direct_hit = true, reflectable = true, requires_target = true, @@ -55,7 +55,7 @@ newTalent{ points = 5, random_ego = "utility", paradox = 10, - range = function(self, t) return self:getTalentLevel(t)*2 end, + range = function(self, t) return self:getTalentLevel(t)+1 end, cooldown = function(self, t) return 20 - (self:getTalentLevel(t) *2) end, reflectable = true, requires_target = true, @@ -89,7 +89,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 10, + range = 6, direct_hit = true, reflectable = true, requires_target = true, @@ -128,7 +128,7 @@ newTalent{ tactical = { ATTACKAREA = 10, }, - range = 15, + range = 7, direct_hit = true, requires_target = true, action = function(self, t) diff --git a/game/modules/tome/data/talents/chronomancy/paradox.lua b/game/modules/tome/data/talents/chronomancy/paradox.lua index 953e8ea3c9..643a181a0f 100644 --- a/game/modules/tome/data/talents/chronomancy/paradox.lua +++ b/game/modules/tome/data/talents/chronomancy/paradox.lua @@ -28,7 +28,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, reflectable = true, action = function(self, t) local tg = {type="beam", range=self:getTalentRange(t), talent=t} @@ -58,7 +58,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, reflectable = true, action = function(self, t) local tg = {type="bolt", range=self:getTalentRange(t), talent=t} diff --git a/game/modules/tome/data/talents/chronomancy/temporal-combat.lua b/game/modules/tome/data/talents/chronomancy/temporal-combat.lua index 5f27001b6a..ba1a011f9d 100644 --- a/game/modules/tome/data/talents/chronomancy/temporal-combat.lua +++ b/game/modules/tome/data/talents/chronomancy/temporal-combat.lua @@ -44,7 +44,7 @@ newTalent{ } - newTalent{ +newTalent{ name = "Kinetic Folding", type = {"chronomancy/temporal-combat", 2}, require = temporal_req2, @@ -56,7 +56,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 10, + range = 6, action = function(self, t) local tg = {type="hit", range=self:getTalentRange(t), talent=t} local x, y = self:getTarget(tg) diff --git a/game/modules/tome/data/talents/chronomancy/threading.lua b/game/modules/tome/data/talents/chronomancy/threading.lua index da50999e8d..4cd4f42095 100644 --- a/game/modules/tome/data/talents/chronomancy/threading.lua +++ b/game/modules/tome/data/talents/chronomancy/threading.lua @@ -28,7 +28,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, reflectable = true, action = function(self, t) local tg = {type="beam", range=self:getTalentRange(t), talent=t} @@ -58,7 +58,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, reflectable = true, action = function(self, t) local tg = {type="bolt", range=self:getTalentRange(t), talent=t} diff --git a/game/modules/tome/data/talents/chronomancy/weaving.lua b/game/modules/tome/data/talents/chronomancy/weaving.lua index 0a189ebb0a..ca880a9f7b 100644 --- a/game/modules/tome/data/talents/chronomancy/weaving.lua +++ b/game/modules/tome/data/talents/chronomancy/weaving.lua @@ -169,7 +169,7 @@ newTalent{ tactical = { DEFENSE = 10, }, - range = 20, + range = 10, action = function(self, t) local dur = util.bound(5 + math.floor(self:getTalentLevel(t)), 5, 15)*getParadoxModifier(self, pm) self:setEffect(self.EFF_DAMAGE_SMEARING, dur, {power=10}) diff --git a/game/modules/tome/data/talents/corruptions/blight.lua b/game/modules/tome/data/talents/corruptions/blight.lua index 3cdfe02719..54daad21f2 100644 --- a/game/modules/tome/data/talents/corruptions/blight.lua +++ b/game/modules/tome/data/talents/corruptions/blight.lua @@ -50,7 +50,7 @@ newTalent{ points = 5, cooldown = 10, vim = 30, - range = 20, + range = 10, requires_target = true, action = function(self, t) local tg = {type="ball", radius=3, range=self:getTalentRange(t), talent=t} @@ -108,7 +108,7 @@ newTalent{ points = 5, cooldown = 10, vim = 12, - range = 20, + range = 10, requires_target = true, action = function(self, t) local tg = {type="hit", range=self:getTalentRange(t), talent=t} diff --git a/game/modules/tome/data/talents/corruptions/blood.lua b/game/modules/tome/data/talents/corruptions/blood.lua index 1e825fd19c..23ef7ef48a 100644 --- a/game/modules/tome/data/talents/corruptions/blood.lua +++ b/game/modules/tome/data/talents/corruptions/blood.lua @@ -56,7 +56,7 @@ newTalent{ points = 5, cooldown = 5, vim = 20, - range = 20, + range = 10, proj_speed = 20, requires_target = true, action = function(self, t) @@ -80,7 +80,7 @@ newTalent{ points = 5, cooldown = 12, vim = 30, - range = function(self, t) return 3 + self:getTalentLevelRaw(t) end, + range = function(self, t) return 2 + self:getTalentLevelRaw(t) end, requires_target = true, action = function(self, t) local tg = {type="ball", range=0, radius=self:getTalentRange(t), friendlyfire=false, talent=t} diff --git a/game/modules/tome/data/talents/corruptions/bone.lua b/game/modules/tome/data/talents/corruptions/bone.lua index 91f75e4aca..050a459bfc 100644 --- a/game/modules/tome/data/talents/corruptions/bone.lua +++ b/game/modules/tome/data/talents/corruptions/bone.lua @@ -24,7 +24,7 @@ newTalent{ points = 5, vim = 13, cooldown = 4, - range = 20, + range = 10, random_ego = "attack", direct_hit = true, requires_target = true, @@ -50,7 +50,7 @@ newTalent{ points = 5, vim = 28, cooldown = 15, - range = 15, + range = 7, requires_target = true, action = function(self, t) local tg = {type="bolt", range=self:getTalentRange(t)} diff --git a/game/modules/tome/data/talents/corruptions/curses.lua b/game/modules/tome/data/talents/corruptions/curses.lua index bf836332b7..26c03d08c6 100644 --- a/game/modules/tome/data/talents/corruptions/curses.lua +++ b/game/modules/tome/data/talents/corruptions/curses.lua @@ -24,7 +24,7 @@ newTalent{ points = 5, cooldown = 20, vim = 20, - range = 20, + range = 10, direct_hit = true, requires_target = true, action = function(self, t) @@ -54,7 +54,7 @@ newTalent{ points = 5, cooldown = 20, vim = 20, - range = 20, + range = 10, direct_hit = true, requires_target = true, action = function(self, t) @@ -84,7 +84,7 @@ newTalent{ points = 5, cooldown = 20, vim = 20, - range = 20, + range = 10, direct_hit = true, requires_target = true, action = function(self, t) @@ -114,7 +114,7 @@ newTalent{ points = 5, cooldown = 20, vim = 20, - range = 20, + range = 10, requires_target = true, direct_hit = true, action = function(self, t) diff --git a/game/modules/tome/data/talents/corruptions/hexes.lua b/game/modules/tome/data/talents/corruptions/hexes.lua index e5f18343ff..6a59f265a3 100644 --- a/game/modules/tome/data/talents/corruptions/hexes.lua +++ b/game/modules/tome/data/talents/corruptions/hexes.lua @@ -24,7 +24,7 @@ newTalent{ points = 5, cooldown = 20, vim = 30, - range = 30, + range = 10, direct_hit = true, requires_target = true, action = function(self, t) @@ -54,7 +54,7 @@ newTalent{ points = 5, cooldown = 20, vim = 30, - range = 30, + range = 10, direct_hit = true, requires_target = true, action = function(self, t) @@ -84,7 +84,7 @@ newTalent{ points = 5, cooldown = 20, vim = 30, - range = 30, + range = 10, direct_hit = true, requires_target = true, action = function(self, t) @@ -114,7 +114,7 @@ newTalent{ points = 5, cooldown = 20, vim = 30, - range = 30, + range = 10, no_npc_use = true, direct_hit = true, requires_target = true, diff --git a/game/modules/tome/data/talents/corruptions/plague.lua b/game/modules/tome/data/talents/corruptions/plague.lua index 0628aac1e4..30184491aa 100644 --- a/game/modules/tome/data/talents/corruptions/plague.lua +++ b/game/modules/tome/data/talents/corruptions/plague.lua @@ -26,7 +26,7 @@ newTalent{ cooldown = 3, random_ego = "attack", requires_target = true, - range = function(self, t) return 5 + math.floor(self:getTalentLevel(t) * 1.3) end, + range = function(self, t) return 4 + math.floor(self:getTalentLevel(t)) end, action = function(self, t) local tg = {type="bolt", range=self:getTalentRange(t)} local x, y = self:getTarget(tg) @@ -64,7 +64,7 @@ newTalent{ points = 5, vim = 18, cooldown = 9, - range = 15, + range = 7, requires_target = true, action = function(self, t) local tg = {type="bolt", range=self:getTalentRange(t)} @@ -123,7 +123,7 @@ newTalent{ points = 5, vim = 35, cooldown = 15, - range = 10, + range = 6, direct_hit = true, requires_target = true, action = function(self, t) @@ -176,7 +176,7 @@ newTalent{ points = 5, vim = 20, cooldown = 13, - range = 10, + range = 6, requires_target = true, do_spread = function(self, t, carrier) -- List all diseases diff --git a/game/modules/tome/data/talents/corruptions/sanguisuge.lua b/game/modules/tome/data/talents/corruptions/sanguisuge.lua index 05ac775b21..a78ca3e4e9 100644 --- a/game/modules/tome/data/talents/corruptions/sanguisuge.lua +++ b/game/modules/tome/data/talents/corruptions/sanguisuge.lua @@ -24,7 +24,7 @@ newTalent{ points = 5, vim = 0, cooldown = 30, - range = 20, + range = 10, action = function(self, t) if self.max_life * 0.2 >= self.life then game.logPlayer(self, "Doing this would kill you.") @@ -67,7 +67,7 @@ newTalent{ reflectable = true, proj_speed = 15, requires_target = true, - range = function(self, t) return 3 * self:getTalentLevelRaw(t) end, + range = function(self, t) return 4 + self:getTalentLevelRaw(t) end, action = function(self, t) local tg = {type="bolt", range=self:getTalentRange(t), talent=t, display={particle="bolt_slime"}} local x, y = self:getTarget(tg) @@ -91,7 +91,7 @@ newTalent{ points = 5, sustain_vim = 30, cooldown = 30, - range = 20, + range = 10, activate = function(self, t) game:playSoundNear(self, "talents/spell_generic2") local ret = { @@ -119,7 +119,7 @@ newTalent{ points = 5, vim = 40, cooldown = 20, - range = 20, + range = 10, action = function(self, t) self:setEffect(self.EFF_LIFE_TAP, 7, {power=math.ceil(6 + self:getTalentLevel(t) * 2)}) game:playSoundNear(self, "talents/spell_generic2") diff --git a/game/modules/tome/data/talents/corruptions/shadowflame.lua b/game/modules/tome/data/talents/corruptions/shadowflame.lua index 804253d101..3ab402d926 100644 --- a/game/modules/tome/data/talents/corruptions/shadowflame.lua +++ b/game/modules/tome/data/talents/corruptions/shadowflame.lua @@ -44,7 +44,7 @@ newTalent{ cooldown = 10, vim = 20, requires_target = true, - range = 15, + range = 6, proj_speed = 4, direct_hit = true, requires_target = true, @@ -120,7 +120,7 @@ newTalent{ cooldown = 60, no_sustain_autoreset = true, no_npc_use = true, - range = 10, + range = 5, activate = function(self, t) if game.zone.is_demon_plane then game.logPlayer(self, "This spell can not be used from within the demon place.") diff --git a/game/modules/tome/data/talents/corruptions/vim.lua b/game/modules/tome/data/talents/corruptions/vim.lua index 6e2557b2e6..6f62ec6420 100644 --- a/game/modules/tome/data/talents/corruptions/vim.lua +++ b/game/modules/tome/data/talents/corruptions/vim.lua @@ -23,7 +23,7 @@ newTalent{ points = 5, cooldown = 4, vim = 10, - range = 20, + range = 10, proj_speed = 10, requires_target = true, action = function(self, t) @@ -94,7 +94,7 @@ newTalent{ tactical = { ATTACKAREA = 5, }, - range = 15, + range = 7, action = function(self, t) local tg = {type="ball", radius=3, range=self:getTalentRange(t), talent=t} local x, y = self:getTarget(tg) diff --git a/game/modules/tome/data/talents/cunning/shadow-magic.lua b/game/modules/tome/data/talents/cunning/shadow-magic.lua index e84023130d..9b81f3723c 100644 --- a/game/modules/tome/data/talents/cunning/shadow-magic.lua +++ b/game/modules/tome/data/talents/cunning/shadow-magic.lua @@ -63,7 +63,7 @@ newTalent{ cooldown = 5, sustain_stamina = 40, require = cuns_req3, - range = 20, + range = 10, getManaRegen = function(self, t) return self:getTalentLevel(t) / 14 end, activate = function(self, t) return { diff --git a/game/modules/tome/data/talents/cunning/traps.lua b/game/modules/tome/data/talents/cunning/traps.lua index 991080dcef..2f687aaa1b 100644 --- a/game/modules/tome/data/talents/cunning/traps.lua +++ b/game/modules/tome/data/talents/cunning/traps.lua @@ -19,7 +19,7 @@ local Map = require "engine.Map" -local trap_range = function(self, t) return 0 + math.floor(self:getTalentLevel(self.T_TRAP_LAUNCHER) * 2.2) end +local trap_range = function(self, t) return 0 + math.floor(self:getTalentLevel(self.T_TRAP_LAUNCHER) * 1.2) end ---------------------------------------------------------------- -- Trapping @@ -80,7 +80,7 @@ newTalent{ stamina = 15, no_break_stealth = true, require = cuns_req2, - range = function(self, t) return math.ceil(self:getTalentLevel(t) * 1.5 + 5) end, + range = function(self, t) return math.ceil(self:getTalentLevel(t) + 5) end, action = function(self, t) local tg = {type="bolt", nowarning=true, range=self:getTalentRange(t), nolock=true, talent=t} local tx, ty, target = self:getTarget(tg) @@ -146,19 +146,19 @@ newTalent{ reflectable = true, proj_speed = 10, requires_target = true, - range = 20, + range = 10, action = function(self, t) local tg = {type="bolt", range=self:getTalentRange(t), talent=t} local x, y = self:getTarget(tg) if not x or not y then return nil end - self:projectile(tg, x, y, DamageType.STICKY_SMOKE, math.ceil(self:getTalentLevel(t) * 2.5), {type="slime"}) + self:projectile(tg, x, y, DamageType.STICKY_SMOKE, math.ceil(self:getTalentLevel(t) * 1.2), {type="slime"}) game:playSoundNear(self, "talents/slime") return true end, info = function(self, t) return ([[Throws a vial of sticky smoke that explodes on your foe, reducing its vision range by %d for 5 turns. This can be used while stealthed.]]): - format(math.ceil(self:getTalentLevel(t) * 2.5)) + format(math.ceil(self:getTalentLevel(t) * 1.2)) end, } diff --git a/game/modules/tome/data/talents/cursed/dark-figure.lua b/game/modules/tome/data/talents/cursed/dark-figure.lua index fec4ba9627..5c507061bf 100644 --- a/game/modules/tome/data/talents/cursed/dark-figure.lua +++ b/game/modules/tome/data/talents/cursed/dark-figure.lua @@ -30,7 +30,7 @@ newTalent{ hate = 0.1, getRadius = function(self, t) return 3 + math.floor((self:getTalentLevelRaw(t) - 1) / 2) end, getDuration = function(self, t) return 5 + math.floor(self:getTalentLevel(t) * 2) end, - range = 10, + range = 6, action = function(self, t) local tg = {type="hit", range=self:getTalentRange(t), talent=t} local x, y, target = self:getTarget(tg) @@ -127,7 +127,7 @@ newTalent{ end, on_unlearn = function(self, t) end, - range = function(self, t) return 18 - math.floor(self:getTalentLevel(t) * 1.4) end, + range = function(self, t) return 9 - math.floor(self:getTalentLevel(t) * 0.7) end, info = function(self, t) local range = t.range(self, t) return ([[You hide your terrible nature behind a pitiful figure. Those that see you from a distance of %d will ignore you.]]):format(range) diff --git a/game/modules/tome/data/talents/cursed/dark-sustenance.lua b/game/modules/tome/data/talents/cursed/dark-sustenance.lua index bc5da6f44c..b5d7f3ebdc 100644 --- a/game/modules/tome/data/talents/cursed/dark-sustenance.lua +++ b/game/modules/tome/data/talents/cursed/dark-sustenance.lua @@ -24,7 +24,7 @@ newTalent{ points = 5, random_ego = "attack", cooldown = 6, - range = 15, + range = 7, requires_target = true, getHateGain = function(self, t) return math.sqrt(self:getTalentLevel(t)) * 0.2 + self:getWil(0.15) @@ -43,24 +43,24 @@ newTalent{ if self:hasEffect(self.EFF_FEED_HATE) then self:removeEffect(self.EFF_FEED_HATE) end - + local hateGain = t.getHateGain(self, t) local constitutionGain = 0 local lifeRegenGain = 0 local damageGain = 0 local resistGain = 0 - + local tFeedHealth = self:getTalentFromId(self.T_FEED_HEALTH) if tFeedHealth and self:getTalentLevelRaw(tFeedHealth) > 0 then constitutionGain = tFeedHealth.getConstitutionGain(self, tFeedHealth, target) lifeRegenGain = tFeedHealth.getLifeRegenGain(self, tFeedHealth) end - + local tFeedPower = self:getTalentFromId(self.T_FEED_POWER) if tFeedPower and self:getTalentLevelRaw(tFeedPower) > 0 then damageGain = tFeedPower.getDamageGain(self, tFeedPower, target) end - + local tFeedStrengths = self:getTalentFromId(self.T_FEED_STRENGTHS) if tFeedStrengths and self:getTalentLevelRaw(tFeedStrengths) > 0 then resistGain = tFeedStrengths.getResistGain(self, tFeedStrengths, target) diff --git a/game/modules/tome/data/talents/cursed/darkness.lua b/game/modules/tome/data/talents/cursed/darkness.lua index acb4ac363a..1d5a0da5fb 100644 --- a/game/modules/tome/data/talents/cursed/darkness.lua +++ b/game/modules/tome/data/talents/cursed/darkness.lua @@ -47,7 +47,7 @@ local function createDarkTendrils(summoner, x, y, target, damage, duration, pinD local hitTarget = false local tCreepingDarkness = self.summoner:getTalentFromId(summoner.T_CREEPING_DARKNESS) - + if self.finalizing then if self.duration <= 0 or self.target.dead or self.x ~= self.target.x or self.y ~= self.target.y then game.logSeen(self, "The dark tendrils dissipate.") @@ -148,7 +148,7 @@ newTalent{ hate = 1.5, range = 5, requires_target = true, - + -- implementation of creeping darkness..used in various locations, but stored here canCreep = function(x, y, ignoreCreepingDark) -- not on map @@ -220,9 +220,9 @@ newTalent{ --game.level.map:redisplay() else self.duration = self.duration - 1 - + local tCreepingDarkness = self.summoner:getTalentFromId(self.summoner.T_CREEPING_DARKNESS) - + if self.canCreep and self.creep > 0 and rng.percent(self.creepChance) then if not tCreepingDarkness.doCreep(tCreepingDarkness, self, true) then -- doCreep failed..pass creep on to a neighbor and stop creeping @@ -269,7 +269,7 @@ newTalent{ end end end, - + getRadius = function(self, t) return 3 end, @@ -359,7 +359,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 6, + range = 5, direct_hit = true, reflectable = true, requires_target = true, @@ -410,7 +410,7 @@ newTalent{ random_ego = "attack", cooldown = 10, hate = 1.2, - range = 10, + range = 6, getPinDuration = function(self, t) return 1 + math.floor(self:getTalentLevel(t) / 2) end, diff --git a/game/modules/tome/data/talents/cursed/endless-hunt.lua b/game/modules/tome/data/talents/cursed/endless-hunt.lua index f5b9993648..dd9e0e89d7 100644 --- a/game/modules/tome/data/talents/cursed/endless-hunt.lua +++ b/game/modules/tome/data/talents/cursed/endless-hunt.lua @@ -96,7 +96,7 @@ newTalent{ random_ego = "attack", cooldown = 10, hate = 0.3, - range = 10, + range = 6, requires_target = true, action = function(self, t) local tg = {type="hit", range=self:getTalentRange(t)} @@ -135,7 +135,7 @@ newTalent{ random_ego = "attack", cooldown = 25, hate = 0.1, - range = 10, + range = 6, requires_target = true, action = function(self, t) local tg = {type="hit", range=self:getTalentRange(t), talent=t} diff --git a/game/modules/tome/data/talents/cursed/force-of-will.lua b/game/modules/tome/data/talents/cursed/force-of-will.lua index e68d1e4ff3..553a4b22b3 100644 --- a/game/modules/tome/data/talents/cursed/force-of-will.lua +++ b/game/modules/tome/data/talents/cursed/force-of-will.lua @@ -32,7 +32,7 @@ local function forceHit(self, target, sourceX, sourceY, damage, knockback, knock self:project(target, target.x, target.y, DamageType.PHYSICAL, damage) game.level.map:particleEmitter(target.x, target.y, 1, "force_hit", {power=power, dx=target.x - sourceX, dy=target.y - sourceY}) end - + -- knockback? if not target.dead and knockback and knockback > 0 and target:canBe("knockback") and (target.never_move or 0) < 1 then -- give direct hit a direction? @@ -41,7 +41,7 @@ local function forceHit(self, target, sourceX, sourceY, damage, knockback, knock sourceX = sourceX + dir_to_coord[newDirection][1] sourceY = sourceY + dir_to_coord[newDirection][2] end - + local lineFunction = line.new(sourceX, sourceY, target.x, target.y, true) local finalX, finalY = target.x, target.y local knockbackCount = 0 @@ -49,7 +49,7 @@ local function forceHit(self, target, sourceX, sourceY, damage, knockback, knock while knockback > 0 do blocked = true local x, y = lineFunction(true) - + if not game.level.map:isBound(x, y) or game.level.map:checkAllEntities(x, y, "block_move", target) then -- blocked local nextTarget = game.level.map(x, y, Map.ACTOR) @@ -64,17 +64,17 @@ local function forceHit(self, target, sourceX, sourceY, damage, knockback, knock else game.logPlayer(self, "%s was smashed!", target.name:capitalize()) end - + -- take partial damage local blockDamage = damage * knockback * knockbackDamage / 100 self:project(target, target.x, target.y, DamageType.PHYSICAL, blockDamage) - + if nextTarget then -- start a new force hit with the knockback damage and current knockback - + forceHit(self, nextTarget, sourceX, sourceY, blockDamage, knockback, knockbackDamage, power / 2) end - + knockback = 0 else -- allow move @@ -83,11 +83,11 @@ local function forceHit(self, target, sourceX, sourceY, damage, knockback, knock knockbackCount = knockbackCount + 1 end end - + if not blocked and knockbackCount > 0 then game.logPlayer(self, "%s was blasted back %d spaces!", target.name:capitalize()) end - + if not target.dead and (finalX ~= target.x or finalY ~= target.y) then target:move(finalX, finalY, true) end @@ -103,7 +103,7 @@ newTalent{ cooldown = 4, hate = 0.5, range = function(self, t) - return 6 + return 4 end, getDamage = function(self, t) return combatTalentDamage(self, t, 20, 160) @@ -113,13 +113,13 @@ newTalent{ end, action = function(self, t) local range = self:getTalentRange(t) - + local tg = {type="hit", range=self:getTalentRange(t)} local x, y, target = self:getTarget(tg) if not x or not y or not target then return nil end - + local distance = math.max(1, math.floor(core.fov.distance(self.x, self.y, x, y))) - + local power = (1 - ((distance - 1) / range)) local damage = t.getDamage(self, t) * power local knockback = t.getKnockback(self, t) @@ -168,9 +168,9 @@ newTalent{ local maxDamage = t.getMaxDamage(self, t) if p.value < maxDamage and self.hate >= 0.05 then self:incHate(-0.05) - + p.value = math.min(p.value + maxDamage / 50, maxDamage) - + t.updateParticles(self, t, p) end end, @@ -182,7 +182,7 @@ newTalent{ damage = damage - deflectDamage p.value = math.max(0, p.value - deflectDamage) t.updateParticles(self, t, p) - + game.logPlayer(self, "You have deflected %d incoming damage!", deflectDamage) end end @@ -212,7 +212,7 @@ newTalent{ cooldown = 10, hate = 1.5, range = function(self, t) - return 6 + return 4 end, getRadius = function(self, t) return math.floor(2 + self:getTalentLevel(t) / 3) @@ -228,11 +228,11 @@ newTalent{ local radius = t.getRadius(self, t) local damage = t.getDamage(self, t) local knockback = t.getKnockback(self, t) - + local tg = {type="ball", nolock=true, pass_terrain=false, friendly_fire=false, nowarning=true, range=range, radius=radius, talent=t} local blastX, blastY = self:getTarget(tg) if not blastX or not blastY then return nil end - + local grids = self:project(tg, blastX, blastY, function(x, y, target, self) -- your will ignores friendly targets (except for knockback hits) @@ -249,7 +249,7 @@ newTalent{ local _ _, x, y = self:canProject(tg, blastX, blastY) game.level.map:particleEmitter(x, y, tg.radius, "force_blast", {radius=tg.radius}) game:playSoundNear(self, "talents/fireflash") - + return true end, info = function(self, t) @@ -273,7 +273,7 @@ newTalent{ }, direct_hit = true, range = function(self, t) - return math.floor(4 + self:getTalentLevel(t) / 2) + return math.floor(4 + self:getTalentLevel(t) / 2.3) end, getDuration = function(self, t) return 5 + math.floor(self:getTalentLevel(t)) @@ -287,14 +287,14 @@ newTalent{ getSecondHitChance = function(self, t) local level = self:getTalentLevel(t) if level < 4 then return 0 end - + return 5 + (level - 4) * 10 end, action = function(self, t) game.logSeen(self, "An unseen force begin to swirl around %s!", self.name) local duration = t.getDuration(self, t) local particles = self:addParticles(Particles.new("force_area", 1, { radius = self:getTalentRange(t) })) - + self.unseenForce = { duration = duration, particles = particles } return true end, @@ -309,21 +309,21 @@ newTalent{ end end end - + if #targets > 0 then local damage = t.getDamage(self, t) local knockback = t.getKnockback(self, t) - + local hitCount = 1 if rng.percent(t.getSecondHitChance(self, t)) then hitCount = hitCount + 1 end - + -- Randomly take targets for i = 1, hitCount do local target, index = rng.table(targets) forceHit(self, target, target.x, target.y, damage, knockback, 15, 0.6) end end - + self.unseenForce.duration = self.unseenForce.duration - 1 if self.unseenForce.duration <= 0 then self:removeParticles(self.unseenForce.particles) diff --git a/game/modules/tome/data/talents/cursed/punishments.lua b/game/modules/tome/data/talents/cursed/punishments.lua index 459347e11a..560d62dfd2 100644 --- a/game/modules/tome/data/talents/cursed/punishments.lua +++ b/game/modules/tome/data/talents/cursed/punishments.lua @@ -197,7 +197,7 @@ newTalent{ random_ego = "attack", cooldown = 6, hate = 0.5, - range = 12, + range = 7, getDuration = function(self, t) return 8 + math.floor(self:getTalentLevel(t) * 1.4) end, diff --git a/game/modules/tome/data/talents/cursed/shadows.lua b/game/modules/tome/data/talents/cursed/shadows.lua index f5f31a8d37..f2a6793b33 100644 --- a/game/modules/tome/data/talents/cursed/shadows.lua +++ b/game/modules/tome/data/talents/cursed/shadows.lua @@ -22,7 +22,7 @@ newTalent{ name = "Phase Door", type = {"spell/other",1}, points = 5, - range = 20, + range = 10, action = function(self, t) local x, y, range if self.ai_state.shadow_wall then @@ -49,7 +49,7 @@ newTalent{ type = {"spell/other", 1}, points = 5, random_ego = "attack", - range = 20, + range = 10, requires_target = true, action = function(self, t) local tg = {type="hit", range=self:getTalentRange(t)} @@ -294,7 +294,7 @@ newTalent{ random_ego = "attack", cooldown = 10, hate = 1, - range = 10, + range = 6, requires_target = true, getDuration = function(self, t) return self:getTalentLevel(t) diff --git a/game/modules/tome/data/talents/divine/chants.lua b/game/modules/tome/data/talents/divine/chants.lua index fe23a2ef00..da42dfa90e 100644 --- a/game/modules/tome/data/talents/divine/chants.lua +++ b/game/modules/tome/data/talents/divine/chants.lua @@ -39,7 +39,7 @@ newTalent{ tactical = { BUFF = 10, }, - range = 20, + range = 10, getResists = function(self, t) return self:combatTalentSpellDamage(t, 5, 70) end, getDamageOnMeleeHit = function(self, t) return self:combatTalentSpellDamage(t, 5, 25) end, activate = function(self, t) @@ -85,7 +85,7 @@ newTalent{ tactical = { BUFF = 10, }, - range = 20, + range = 10, getPhysicalResistance = function(self, t) return self:combatTalentSpellDamage(t, 5, 23) end, getDamageOnMeleeHit = function(self, t) return self:combatTalentSpellDamage(t, 5, 25) end, activate = function(self, t) @@ -128,7 +128,7 @@ newTalent{ tactical = { BUFF = 10, }, - range = 20, + range = 10, getResists = function(self, t) return self:combatTalentSpellDamage(t, 5, 20) end, getDamageOnMeleeHit = function(self, t) return self:combatTalentSpellDamage(t, 5, 25) end, activate = function(self, t) @@ -177,7 +177,7 @@ newTalent{ tactical = { BUFF = 10, }, - range = 20, + range = 10, getLightDamageIncrease = function(self, t) return self:combatTalentSpellDamage(t, 10, 50) end, getDamageOnMeleeHit = function(self, t) return self:combatTalentSpellDamage(t, 5, 25) end, activate = function(self, t) diff --git a/game/modules/tome/data/talents/divine/combat.lua b/game/modules/tome/data/talents/divine/combat.lua index 400c5d3803..52b02e0fe7 100644 --- a/game/modules/tome/data/talents/divine/combat.lua +++ b/game/modules/tome/data/talents/divine/combat.lua @@ -28,7 +28,7 @@ newTalent{ tactical = { BUFF = 10, }, - range = 20, + range = 10, getDamage = function(self, t) return 7 + self:combatSpellpower(0.092) * self:getTalentLevel(t) end, activate = function(self, t) game:playSoundNear(self, "talents/spell_generic2") @@ -96,7 +96,7 @@ newTalent{ ATTACK = 10, }, requires_target = true, - range = function(self, t) return 2 + self:getStr(12) end, + range = function(self, t) return 2 + self:getStr(8) end, getDamage = function(self, t) return self:combatTalentWeaponDamage(t, 1.1, 1.9) end, action = function(self, t) local tg = {type="bolt", range=self:getTalentRange(t), talent=t} diff --git a/game/modules/tome/data/talents/divine/eclipse.lua b/game/modules/tome/data/talents/divine/eclipse.lua index 88caac49a3..9efd6272cb 100644 --- a/game/modules/tome/data/talents/divine/eclipse.lua +++ b/game/modules/tome/data/talents/divine/eclipse.lua @@ -76,7 +76,7 @@ newTalent{ require = divi_req3, points = 5, proj_speed = 3, - range = 10, + range = 6, sustain_negative = 10, sustain_positive = 10, getTargetCount = function(self, t) return math.floor(self:getTalentLevel(t)) end, @@ -91,7 +91,7 @@ newTalent{ tgts[#tgts+1] = a end end end - + -- Randomly take targets local tg = {type="bolt", range=self:getTalentRange(t), talent=t, display={particle="bolt_fire"}} for i = 1, t.getTargetCount(self, t) do @@ -107,7 +107,7 @@ newTalent{ else local tg = {type="bolt", range=self:getTalentRange(t), talent=t, display={particle="bolt_dark"}} self:projectile(tg, a.x, a.y, DamageType.DARKNESS, t.getDarknessDamage(self, t), {type="shadow"}) - self:incNegative(-2) + self:incNegative(-2) end end end, diff --git a/game/modules/tome/data/talents/divine/guardian.lua b/game/modules/tome/data/talents/divine/guardian.lua index 67ab876180..3f89e29103 100644 --- a/game/modules/tome/data/talents/divine/guardian.lua +++ b/game/modules/tome/data/talents/divine/guardian.lua @@ -28,7 +28,7 @@ newTalent{ tactical = { BUFF = 10, }, - range = 20, + range = 10, getHeal = function(self, t) return self:combatTalentSpellDamage(t, 5, 25) end, activate = function(self, t) local shield = self:hasShield() diff --git a/game/modules/tome/data/talents/divine/hymns.lua b/game/modules/tome/data/talents/divine/hymns.lua index e7c84034d7..b742b885c7 100644 --- a/game/modules/tome/data/talents/divine/hymns.lua +++ b/game/modules/tome/data/talents/divine/hymns.lua @@ -39,7 +39,7 @@ newTalent{ tactical = { BUFF = 10, }, - range = 20, + range = 10, getDamageOnMeleeHit = function(self, t) return self:combatTalentSpellDamage(t, 10, 50) end, getDarknessDamageIncrease = function(self, t) return self:combatTalentSpellDamage(t, 5, 25) end, activate = function(self, t) @@ -82,7 +82,7 @@ newTalent{ tactical = { BUFF = 10, }, - range = 20, + range = 10, getDamageOnMeleeHit = function(self, t) return self:combatTalentSpellDamage(t, 5, 25) end, getInfraVisionPower = function(self, t) return math.floor(5 + self:getTalentLevel(t)) end, activate = function(self, t) @@ -125,7 +125,7 @@ newTalent{ tactical = { BUFF = 10, }, - range = 20, + range = 10, getDamageOnMeleeHit = function(self, t) return self:combatTalentSpellDamage(t, 10, 50) end, getImmunities = function(self, t) return 0.2 + self:getTalentLevel(t) / 10 end, activate = function(self, t) @@ -173,7 +173,7 @@ newTalent{ tactical = { BUFF = 10, }, - range = 20, + range = 10, getDamage = function(self, t) return self:combatTalentSpellDamage(t, 7, 80) end, getTargetCount = function(self, t) return math.floor(self:getTalentLevel(t)) end, getNegativeDrain = function(self, t) return -self:getTalentLevelRaw(t) end, diff --git a/game/modules/tome/data/talents/divine/star-fury.lua b/game/modules/tome/data/talents/divine/star-fury.lua index 94c29f4c76..abb9eae8e3 100644 --- a/game/modules/tome/data/talents/divine/star-fury.lua +++ b/game/modules/tome/data/talents/divine/star-fury.lua @@ -28,7 +28,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, direct_hit = true, reflectable = true, requires_target = true, @@ -62,7 +62,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 6, + range = 5, direct_hit = true, requires_target = true, getDamageOnSpot = function(self, t) return self:combatTalentSpellDamage(t, 4, 50) end, @@ -145,7 +145,7 @@ newTalent{ tactical = { ATTACKAREA = 10, }, - range = 10, + range = 6, direct_hit = true, requires_target = true, getRadius = function(self, t) return 1 + math.floor(self:getTalentLevelRaw(t) / 3) end, diff --git a/game/modules/tome/data/talents/divine/sun.lua b/game/modules/tome/data/talents/divine/sun.lua index 0b552c6a3a..fe2d9d73d3 100644 --- a/game/modules/tome/data/talents/divine/sun.lua +++ b/game/modules/tome/data/talents/divine/sun.lua @@ -28,7 +28,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 10, + range = 7, direct_hit = true, reflectable = true, requires_target = true, @@ -111,7 +111,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 10, + range = 70, direct_hit = true, requires_target = true, getDamage = function(self, t) return self:combatTalentSpellDamage(t, 10, 200) end, diff --git a/game/modules/tome/data/talents/divine/twilight.lua b/game/modules/tome/data/talents/divine/twilight.lua index 045b44aa27..72b783ac98 100644 --- a/game/modules/tome/data/talents/divine/twilight.lua +++ b/game/modules/tome/data/talents/divine/twilight.lua @@ -29,7 +29,7 @@ newTalent{ tactical = { BUFF = 10, }, - range = 20, + range = 10, getNegativeGain = function(self, t) return 20 + self:getTalentLevel(t) * self:getCun(40) end, action = function(self, t) if self:isTalentActive(self.T_DARKEST_LIGHT) then @@ -192,7 +192,7 @@ newTalent{ ATTACK = 10, }, requires_target = true, - range = 10, + range = 5, no_npc_use = true, getDuration = function(self, t) return math.ceil(self:getTalentLevel(t)+self:getCun(10)) + 3 end, action = function(self, t) diff --git a/game/modules/tome/data/talents/gifts/antimagic.lua b/game/modules/tome/data/talents/gifts/antimagic.lua index 073e9751b3..2fe6c893a6 100644 --- a/game/modules/tome/data/talents/gifts/antimagic.lua +++ b/game/modules/tome/data/talents/gifts/antimagic.lua @@ -55,7 +55,7 @@ newTalent{ points = 5, equilibrium = 20, cooldown = 10, - range = function(self, t) return 4 + self:getTalentLevel(t) * 2 end, + range = function(self, t) return 4 + self:getTalentLevel(t) * 1.5 end, action = function(self, t) local tg = {type="ball", range=0, radius=self:getTalentRange(t), friendlyfire=true, talent=t} self:project(tg, self.x, self.y, DamageType.SILENCE, 3 + math.floor(self:getTalentLevel(t) / 2)) @@ -76,7 +76,7 @@ newTalent{ points = 5, sustain_equilibrium = 30, cooldown = 20, - range = 25, + range = 10, on_damage = function(self, t, damtype, dam) if not DamageType:get(damtype).antimagic_resolve then return dam end @@ -119,7 +119,7 @@ newTalent{ points = 5, equilibrium = 10, cooldown = 10, - range = 20, + range = 10, action = function(self, t) local tg = {type="bolt", range=self:getTalentRange(t), talent=t} local x, y = self:getTarget(tg) diff --git a/game/modules/tome/data/talents/gifts/call.lua b/game/modules/tome/data/talents/gifts/call.lua index 259a85142c..d2317a5d98 100644 --- a/game/modules/tome/data/talents/gifts/call.lua +++ b/game/modules/tome/data/talents/gifts/call.lua @@ -24,7 +24,7 @@ newTalent{ points = 5, message = "@Source@ meditates on nature.", cooldown = 150, - range = 20, + range = 10, no_npc_use = true, action = function(self, t) local seen = false @@ -144,7 +144,7 @@ newTalent{ points = 5, equilibrium = 20, cooldown = 50, - range = 20, + range = 10, action = function(self, t) local nb = math.ceil(self:getTalentLevel(t) + 2) local tids = {} diff --git a/game/modules/tome/data/talents/gifts/cold-drake.lua b/game/modules/tome/data/talents/gifts/cold-drake.lua index 0d7a0046c9..a96dbac211 100644 --- a/game/modules/tome/data/talents/gifts/cold-drake.lua +++ b/game/modules/tome/data/talents/gifts/cold-drake.lua @@ -53,7 +53,7 @@ newTalent{ points = 5, cooldown = 10, sustain_equilibrium = 30, - range = 20, + range = 10, tactical = { DEFEND = 10, }, @@ -81,7 +81,7 @@ newTalent{ random_ego = "defensive", equilibrium = 10, cooldown = 30, - range = 20, + range = 10, requires_target = true, action = function(self, t) local tg = {type="bolt", range=self:getTalentRange(t), nolock=true, talent=t} diff --git a/game/modules/tome/data/talents/gifts/fire-drake.lua b/game/modules/tome/data/talents/gifts/fire-drake.lua index 32ab9a02dc..66fdc09376 100644 --- a/game/modules/tome/data/talents/gifts/fire-drake.lua +++ b/game/modules/tome/data/talents/gifts/fire-drake.lua @@ -79,7 +79,7 @@ newTalent{ tactical = { ATTACKAREA = 10, }, - range = 20, + range = 10, direct_hit = true, requires_target = true, action = function(self, t) diff --git a/game/modules/tome/data/talents/gifts/sand-drake.lua b/game/modules/tome/data/talents/gifts/sand-drake.lua index d0be7f2aca..15e54938f0 100644 --- a/game/modules/tome/data/talents/gifts/sand-drake.lua +++ b/game/modules/tome/data/talents/gifts/sand-drake.lua @@ -68,7 +68,7 @@ newTalent{ tactical = { ATTACKAREA = 10, }, - range = 20, + range = 10, no_npc_use = true, action = function(self, t) local tg = {type="ball", range=0, friendlyfire=false, radius=2 + self:getTalentLevel(t) / 2, talent=t, no_restrict=true} @@ -89,7 +89,7 @@ newTalent{ points = 5, equilibrium = 50, cooldown = 30, - range = 20, + range = 10, action = function(self, t) self:setEffect(self.EFF_BURROW, 5 + self:getTalentLevel(t) * 3, {}) return true diff --git a/game/modules/tome/data/talents/gifts/slime.lua b/game/modules/tome/data/talents/gifts/slime.lua index 3e508be1a2..68036270dc 100644 --- a/game/modules/tome/data/talents/gifts/slime.lua +++ b/game/modules/tome/data/talents/gifts/slime.lua @@ -87,7 +87,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, direct_hit = true, proj_speed = 8, action = function(self, t) @@ -116,7 +116,7 @@ newTalent{ MOVEMENT = 10, }, requires_target = true, - range = 20, + range = 10, action = function(self, t) local x, y = self:getTarget{type="ball", range=20 + self:getTalentLevel(t), radius=math.min(0, 5 - self:getTalentLevel(t))} if not x then return nil end diff --git a/game/modules/tome/data/talents/gifts/storm-drake.lua b/game/modules/tome/data/talents/gifts/storm-drake.lua index 5191565c8b..137c89b33d 100644 --- a/game/modules/tome/data/talents/gifts/storm-drake.lua +++ b/game/modules/tome/data/talents/gifts/storm-drake.lua @@ -26,7 +26,7 @@ newTalent{ points = 5, equilibrium = 10, cooldown = 26, - range = 20, + range = 10, tactical = { ATTACK = 10, }, @@ -86,7 +86,7 @@ newTalent{ equilibrium = 14, cooldown = 15, proj_speed = 2, -- This is purely indicative - range = function(self, t) return 6 + math.ceil(self:getTalentLevel(t) * 2) end, + range = function(self, t) return 4 + math.floor(self:getTalentLevel(t)) end, requires_target = true, action = function(self, t) local tg = {type="hit", range=self:getTalentRange(t), nolock=true, talent=t} diff --git a/game/modules/tome/data/talents/gifts/summon-augmentation.lua b/game/modules/tome/data/talents/gifts/summon-augmentation.lua index 55ce42804c..107f6aa7c6 100644 --- a/game/modules/tome/data/talents/gifts/summon-augmentation.lua +++ b/game/modules/tome/data/talents/gifts/summon-augmentation.lua @@ -24,7 +24,7 @@ newTalent{ points = 5, equilibrium = 5, cooldown = 15, - range = 20, + range = 10, action = function(self, t) local tg = {type="hit", range=self:getTalentRange(t), talent=t, first_target="friend"} local tx, ty, target = self:getTarget(tg) @@ -45,7 +45,7 @@ newTalent{ points = 5, equilibrium = 5, cooldown = 25, - range = 20, + range = 10, requires_target = true, action = function(self, t) local tg = {type="hit", range=self:getTalentRange(t), talent=t, first_target="friend"} @@ -94,7 +94,7 @@ newTalent{ points = 5, equilibrium = 5, cooldown = 25, - range = 20, + range = 10, requires_target = true, action = function(self, t) local tg = {type="hit", range=self:getTalentRange(t), talent=t} diff --git a/game/modules/tome/data/talents/gifts/summon-distance.lua b/game/modules/tome/data/talents/gifts/summon-distance.lua index 86a24b5c15..dce24e7487 100644 --- a/game/modules/tome/data/talents/gifts/summon-distance.lua +++ b/game/modules/tome/data/talents/gifts/summon-distance.lua @@ -22,7 +22,7 @@ newTalent{ short_name = "RITCH_FLAMESPITTER_BOLT", type = {"wild-gift/other",1}, points = 5, equilibrium = 2, - range = 20, + range = 10, reflectable = true, requires_target = true, action = function(self, t) @@ -137,7 +137,7 @@ newTalent{ message = "@Source@ summons a Ritch Flamespitter!", equilibrium = 2, cooldown = 10, - range = 20, + range = 10, requires_target = true, action = function(self, t) if not self:canBe("summon") then game.logPlayer(self, "You can not summon, you are suppressed!") return end @@ -210,7 +210,7 @@ newTalent{ message = "@Source@ summons a 3-headed hydra!", equilibrium = 5, cooldown = 10, - range = 20, + range = 10, requires_target = true, action = function(self, t) if not self:canBe("summon") then game.logPlayer(self, "You can not summon, you are suppressed!") return end @@ -283,7 +283,7 @@ newTalent{ message = "@Source@ summons a Warper!", equilibrium = 8, cooldown = 10, - range = 20, + range = 10, requires_target = true, action = function(self, t) if not self:canBe("summon") then game.logPlayer(self, "You can not summon, you are suppressed!") return end @@ -358,7 +358,7 @@ newTalent{ message = "@Source@ summons a Fire Drake!", equilibrium = 15, cooldown = 10, - range = 20, + range = 10, requires_target = true, action = function(self, t) if not self:canBe("summon") then game.logPlayer(self, "You can not summon, you are suppressed!") return end diff --git a/game/modules/tome/data/talents/gifts/summon-melee.lua b/game/modules/tome/data/talents/gifts/summon-melee.lua index e7e97b9a31..fd17005b79 100644 --- a/game/modules/tome/data/talents/gifts/summon-melee.lua +++ b/game/modules/tome/data/talents/gifts/summon-melee.lua @@ -26,7 +26,7 @@ newTalent{ message = "@Source@ summons a War Hound!", equilibrium = 3, cooldown = 15, - range = 20, + range = 10, requires_target = true, action = function(self, t) if not self:canBe("summon") then game.logPlayer(self, "You can not summon, you are suppressed!") return end @@ -96,7 +96,7 @@ newTalent{ message = "@Source@ summons a Jelly!", equilibrium = 5, cooldown = 10, - range = 20, + range = 10, requires_target = true, action = function(self, t) if not self:canBe("summon") then game.logPlayer(self, "You can not summon, you are suppressed!") return end @@ -167,7 +167,7 @@ newTalent{ message = "@Source@ summons a Minotaur!", equilibrium = 10, cooldown = 15, - range = 20, + range = 10, requires_target = true, action = function(self, t) if not self:canBe("summon") then game.logPlayer(self, "You can not summon, you are suppressed!") return end @@ -243,7 +243,7 @@ newTalent{ message = "@Source@ summons an Stone Golem!", equilibrium = 15, cooldown = 20, - range = 20, + range = 10, requires_target = true, action = function(self, t) if not self:canBe("summon") then game.logPlayer(self, "You can not summon, you are suppressed!") return end diff --git a/game/modules/tome/data/talents/gifts/summon-utility.lua b/game/modules/tome/data/talents/gifts/summon-utility.lua index 3d68e9ec0b..283c4b4b8b 100644 --- a/game/modules/tome/data/talents/gifts/summon-utility.lua +++ b/game/modules/tome/data/talents/gifts/summon-utility.lua @@ -75,7 +75,7 @@ newTalent{ short_name="SPIDER_WEB", points = 5, equilibrium = 5, cooldown = 3, - range=10, + range=7, requires_target = true, action = function(self, t) local tg = {type="bolt", range=self:getTalentRange(t), talent=t} @@ -100,7 +100,7 @@ newTalent{ short_name="HEAL_OTHER", points = 5, equilibrium = 5, cooldown = 4, - range=14, + range=7, requires_target = true, action = function(self, t) local tg = {type="hit", range=self:getTalentRange(t), talent=t} @@ -125,7 +125,7 @@ newTalent{ short_name="REGENERATE_OTHER", points = 5, equilibrium = 5, cooldown = 10, - range=14, + range=7, requires_target = true, action = function(self, t) local tg = {type="hit", range=self:getTalentRange(t), talent=t} @@ -153,7 +153,7 @@ newTalent{ message = "@Source@ summons a Turtle!", equilibrium = 2, cooldown = 10, - range = 20, + range = 10, requires_target = true, action = function(self, t) if not self:canBe("summon") then game.logPlayer(self, "You can not summon, you are suppressed!") return end @@ -224,7 +224,7 @@ newTalent{ message = "@Source@ summons a Spider!", equilibrium = 5, cooldown = 10, - range = 20, + range = 10, requires_target = true, action = function(self, t) if not self:canBe("summon") then game.logPlayer(self, "You can not summon, you are suppressed!") return end @@ -294,7 +294,7 @@ newTalent{ points = 5, equilibrium = 15, cooldown = 18, - range = function(self, t) return 4 + self:getTalentLevel(t) * 3 end, + range = function(self, t) return 4 + self:getTalentLevel(t) end, requires_target = true, action = function(self, t) local dur = math.floor(5 + self:getTalentLevel(t)) diff --git a/game/modules/tome/data/talents/misc/npcs.lua b/game/modules/tome/data/talents/misc/npcs.lua index dc23f50738..66991b8fdf 100644 --- a/game/modules/tome/data/talents/misc/npcs.lua +++ b/game/modules/tome/data/talents/misc/npcs.lua @@ -33,7 +33,7 @@ newTalent{ name = "Multiply", type = {"other/other", 1}, cooldown = 3, - range = 20, + range = 10, action = function(self, t) if not self.can_multiply or self.can_multiply <= 0 then print("no more multiply") return nil end @@ -301,7 +301,7 @@ newTalent{ name = "Summon", type = {"wild-gift/other", 1}, cooldown = 1, - range = 20, + range = 10, equilibrium = 18, direct_hit = true, action = function(self, t) @@ -446,7 +446,7 @@ newTalent{ points = 5, cooldown = 10, mana = 16, - range = 20, + range = 10, direct_hit = true, requires_target = true, action = function(self, t) @@ -470,7 +470,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, reflectable = true, requires_target = true, action = function(self, t) @@ -496,7 +496,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, direct_hit = true, reflectable = true, requires_target = true, @@ -581,7 +581,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, requires_target = true, action = function(self, t) local tg = {type="bolt", range=self:getTalentRange(t)} @@ -605,7 +605,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, direct_hit = true, requires_target = true, action = function(self, t) @@ -632,7 +632,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, requires_target = true, action = function(self, t) local dur = 2 + self:getTalentLevel(t) @@ -673,11 +673,11 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, direct_hit = true, requires_target = true, action = function(self, t) - local tg = {type="ball", range=0, radius=2 + self:getTalentLevelRaw(t), talent=t} + local tg = {type="ball", range=0, radius=2 + self:getTalentLevelRaw(t) / 1.5, talent=t} local x, y = self:getTarget(tg) if not x or not y then return nil end self:project(tg, x, y, function(px, py) @@ -705,7 +705,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, direct_hit = true, requires_target = true, action = function(self, t) @@ -732,7 +732,7 @@ newTalent{ ATTACK = 10, }, message = "@Source@ howls", - range = 20, + range = 10, direct_hit = true, action = function(self, t) local rad = self:getTalentLevel(t) + 5 @@ -766,7 +766,7 @@ newTalent{ ATTACK = 10, }, message = "@Source@ shrieks.", - range = 20, + range = 10, direct_hit = true, action = function(self, t) local rad = self:getTalentLevel(t) + 5 @@ -833,7 +833,7 @@ newTalent{ points = 5, cooldown = 2, equilibrium = 5, - range = 15, + range = 7, direct_hit = true, requires_target = true, action = function(self, t) @@ -856,7 +856,7 @@ newTalent{ points = 5, cooldown = 10, equilibrium = 5, - range = 15, + range = 7, direct_hit = true, requires_target = true, action = function(self, t) @@ -878,7 +878,7 @@ newTalent{ points = 5, cooldown = 2, equilibrium = 5, - range = 15, + range = 7, direct_hit = true, requires_target = true, action = function(self, t) @@ -901,7 +901,7 @@ newTalent{ points = 5, cooldown = 13, vim = 27, - range = 20, + range = 10, direct_hit = true, requires_target = true, action = function(self, t) @@ -934,7 +934,7 @@ newTalent{ name = "Invoke Tentacle", type = {"wild-gift/other", 1}, cooldown = 1, - range = 20, + range = 10, direct_hit = true, action = function(self, t) local tg = {type="hit", range=self:getTalentRange(t), talent=t} diff --git a/game/modules/tome/data/talents/psionic/absorption.lua b/game/modules/tome/data/talents/psionic/absorption.lua index 6ac728ce11..ba3257726b 100644 --- a/game/modules/tome/data/talents/psionic/absorption.lua +++ b/game/modules/tome/data/talents/psionic/absorption.lua @@ -21,7 +21,7 @@ local function getGemLevel(self) local gem_level = 0 if not self:getInven("PSIONIC_FOCUS")[1] then return gem_level end local tk_item = self:getInven("PSIONIC_FOCUS")[1] - if tk_item.type == "gem" then + if tk_item.type == "gem" then gem_level = tk_item.material_level else gem_level = 0 @@ -50,8 +50,8 @@ newTalent{ points = 5, sustain_psi = 30, cooldown = 20, - range = 25, - + range = 10, + --called when damage gets absorbed by kinetic shield ks_on_damage = function(self, t, damtype, dam) local mast = 20 - (2*self:getTalentLevel(self.T_ABSORPTION_MASTERY) or 0) - 0.4*getGemLevel(self) @@ -60,7 +60,7 @@ newTalent{ local guaranteed_dam = total_dam - absorbable_dam dam = absorbable_dam if damtype ~= DamageType.PHYSICAL and damtype ~= DamageType.ACID then return total_dam end - + if dam <= self.kinetic_shield then self:incPsi(2 + dam/mast) dam = 0 @@ -68,7 +68,7 @@ newTalent{ self:incPsi(2 + self.kinetic_shield/mast) dam = dam - self.kinetic_shield end - + return dam + guaranteed_dam end, @@ -106,7 +106,7 @@ newTalent{ dam = dam - self.kinspike_shield_absorb self.kinspike_shield_absorb = 0 end - + if self.kinspike_shield_absorb <= 0 then game.logPlayer(self, "Your spiked kinetic shield crumbles under the damage!") self:removeEffect(self.EFF_KINSPIKE_SHIELD) @@ -139,8 +139,8 @@ newTalent{ points = 5, sustain_psi = 30, cooldown = 20, - range = 25, - + range = 10, + --called when damage gets absorbed by thermal shield ts_on_damage = function(self, t, damtype, dam) local mast = 20 - (2*self:getTalentLevel(self.T_ABSORPTION_MASTERY) or 0) - 0.4*getGemLevel(self) @@ -149,7 +149,7 @@ newTalent{ local guaranteed_dam = total_dam - absorbable_dam dam = absorbable_dam if damtype ~= DamageType.FIRE and damtype ~= DamageType.COLD then return total_dam end - + if dam <= self.thermal_shield then self:incPsi(2 + dam/mast) dam = 0 @@ -194,7 +194,7 @@ newTalent{ dam = dam - self.thermspike_shield_absorb self.thermspike_shield_absorb = 0 end - + if self.thermspike_shield_absorb <= 0 then game.logPlayer(self, "Your spiked thermal shield crumbles under the damage!") self:removeEffect(self.EFF_THERMSPIKE_SHIELD) @@ -225,8 +225,8 @@ newTalent{ points = 5, sustain_psi = 30, cooldown = 20, - range = 25, - + range = 10, + --called when damage gets absorbed by charged shield cs_on_damage = function(self, t, damtype, dam) local mast = 20 - (2*self:getTalentLevel(self.T_ABSORPTION_MASTERY) or 0) - 0.4*getGemLevel(self) @@ -235,7 +235,7 @@ newTalent{ local guaranteed_dam = total_dam - absorbable_dam dam = absorbable_dam if damtype ~= DamageType.LIGHTNING and damtype ~= DamageType.BLIGHT then return total_dam end - + if dam <= self.charged_shield then self:incPsi(2 + dam/mast) dam = 0 @@ -279,7 +279,7 @@ newTalent{ dam = dam - self.chargespike_shield_absorb self.chargespike_shield_absorb = 0 end - + if self.chargespike_shield_absorb <= 0 then game.logPlayer(self, "Your spiked charged shield crumbles under the damage!") self:removeEffect(self.EFF_CHARGESPIKE_SHIELD) diff --git a/game/modules/tome/data/talents/spells/air.lua b/game/modules/tome/data/talents/spells/air.lua index 125735eefb..30d542df4d 100644 --- a/game/modules/tome/data/talents/spells/air.lua +++ b/game/modules/tome/data/talents/spells/air.lua @@ -28,7 +28,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, direct_hit = true, reflectable = true, requires_target = true, @@ -48,7 +48,7 @@ newTalent{ local damage = t.getDamage(self, t) return ([[Conjures up mana into a powerful beam of lightning doing %0.2f to %0.2f damage The damage will increase with the Magic stat]]): - format(damDesc(self, DamageType.LIGHTNING, damage / 3), + format(damDesc(self, DamageType.LIGHTNING, damage / 3), damDesc(self, DamageType.LIGHTNING, damage)) end, } @@ -64,7 +64,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, direct_hit = true, reflectable = true, requires_target = true, diff --git a/game/modules/tome/data/talents/spells/arcane.lua b/game/modules/tome/data/talents/spells/arcane.lua index abc771ed54..aac2f87e02 100644 --- a/game/modules/tome/data/talents/spells/arcane.lua +++ b/game/modules/tome/data/talents/spells/arcane.lua @@ -57,7 +57,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, direct_hit = function(self, t) if self:getTalentLevel(t) >= 3 then return true else return false end end, reflectable = true, requires_target = true, diff --git a/game/modules/tome/data/talents/spells/conveyance.lua b/game/modules/tome/data/talents/spells/conveyance.lua index bc507261eb..5ae719ba22 100644 --- a/game/modules/tome/data/talents/spells/conveyance.lua +++ b/game/modules/tome/data/talents/spells/conveyance.lua @@ -182,7 +182,7 @@ newTalent{ tactical = { DEFENSE = 10, }, - range = 10, + range = 8, requires_target = true, getTransferChange = function(self, t) return 20 + self:getTalentLevel(t) * 5 end, getMaxAbsorb = function(self, t) return 50 + self:combatTalentSpellDamage(t, 20, 350) end, diff --git a/game/modules/tome/data/talents/spells/divination.lua b/game/modules/tome/data/talents/spells/divination.lua index af4268ca3f..3ad120ca31 100644 --- a/game/modules/tome/data/talents/spells/divination.lua +++ b/game/modules/tome/data/talents/spells/divination.lua @@ -66,7 +66,7 @@ newTalent{ no_npc_use = true, requires_target = true, getDuration = function(self, t) return math.floor(10 + self:getTalentLevel(t) * 3) end, - getRadius = function(self, t) return math.floor(4 + self:getTalentLevel(t) * 3) end, + getRadius = function(self, t) return math.floor(4 + self:getTalentLevel(t)) end, action = function(self, t) local tg = {type="hit", nolock=true, pass_terrain=true, nowarning=true, range=100, requires_knowledge=false} x, y = self:getTarget(tg) diff --git a/game/modules/tome/data/talents/spells/earth.lua b/game/modules/tome/data/talents/spells/earth.lua index 3d4d30a9a6..a65290baa0 100644 --- a/game/modules/tome/data/talents/spells/earth.lua +++ b/game/modules/tome/data/talents/spells/earth.lua @@ -58,7 +58,7 @@ newTalent{ points = 5, random_ego = "utility", mana = 40, - range = 20, + range = 10, reflectable = true, requires_target = true, getRange = function(self, t) return self:getTalentLevelRaw(t) end, @@ -90,7 +90,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, reflectable = true, proj_speed = 6, requires_target = true, @@ -117,7 +117,7 @@ newTalent{ points = 5, cooldown = 50, mana = 70, - range = 20, + range = 7, reflectable = true, requires_target = function(self, t) return self:getTalentLevel(t) >= 4 end, getDuration = function(self, t) return 2 + self:combatTalentSpellDamage(t, 5, 12) end, diff --git a/game/modules/tome/data/talents/spells/enhancement.lua b/game/modules/tome/data/talents/spells/enhancement.lua index fa0b8a2353..44b0316d04 100644 --- a/game/modules/tome/data/talents/spells/enhancement.lua +++ b/game/modules/tome/data/talents/spells/enhancement.lua @@ -59,7 +59,7 @@ newTalent{ cooldown = 25, mana = 45, require = spells_req2, - range = 20, + range = 10, getPhysicalReduction = function(self, t) return self:combatTalentSpellDamage(t, 10, 60) end, action = function(self, t) game:playSoundNear(self, "talents/spell_generic") diff --git a/game/modules/tome/data/talents/spells/explosives.lua b/game/modules/tome/data/talents/spells/explosives.lua index 611a178dd5..473e340866 100644 --- a/game/modules/tome/data/talents/spells/explosives.lua +++ b/game/modules/tome/data/talents/spells/explosives.lua @@ -25,7 +25,7 @@ newTalent{ mana = 5, cooldown = 4, range = function(self, t) - return math.ceil(5 + self:getDex(12)) + return math.ceil(5 + self:getDex(6)) end, direct_hit = true, requires_target = true, @@ -170,7 +170,7 @@ newTalent{ mana = 40, cooldown = 10, range = function(self, t) - return math.ceil(5 + self:getDex(12)) + return math.ceil(5 + self:getDex(6)) end, direct_hit = true, requires_target = true, diff --git a/game/modules/tome/data/talents/spells/fire-alchemy.lua b/game/modules/tome/data/talents/spells/fire-alchemy.lua index d1696a25cb..d0413860d1 100644 --- a/game/modules/tome/data/talents/spells/fire-alchemy.lua +++ b/game/modules/tome/data/talents/spells/fire-alchemy.lua @@ -28,6 +28,7 @@ newTalent{ random_ego = "attack", refectable = true, proj_speed = 20, + range = 10, direct_hit = true, requires_target = true, getDamage = function(self, t) return self:combatTalentSpellDamage(t, 25, 220) end, @@ -53,7 +54,7 @@ newTalent{ points = 5, mana = 80, cooldown = 34, - range = 10, + range = 6, direct_hit = true, requires_target = true, getDuration = function(self, t) return 2 + self:combatSpellpower(0.03) * self:getTalentLevel(t) end, @@ -142,9 +143,8 @@ newTalent{ cooldown = 40, sustain_mana = 250, points = 5, - range = 1, proj_speed = 2.4, - range = 12, + range = 8, getFireDamageOnHit = function(self, t) return self:combatTalentSpellDamage(t, 5, 25) end, getResistance = function(self, t) return self:combatTalentSpellDamage(t, 5, 45) end, getFireDamageInSight = function(self, t) return self:combatTalentSpellDamage(t, 15, 70) end, diff --git a/game/modules/tome/data/talents/spells/fire.lua b/game/modules/tome/data/talents/spells/fire.lua index d9baa1a283..1eacaa5e32 100644 --- a/game/modules/tome/data/talents/spells/fire.lua +++ b/game/modules/tome/data/talents/spells/fire.lua @@ -28,7 +28,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, reflectable = true, proj_speed = 20, requires_target = true, @@ -101,7 +101,7 @@ newTalent{ tactical = { ATTACKAREA = 10, }, - range = 15, + range = 7, proj_speed = 4, direct_hit = true, requires_target = true, @@ -137,7 +137,7 @@ newTalent{ tactical = { ATTACKAREA = 40, }, - range = 20, + range = 10, direct_hit = true, requires_target = true, getDamage = function(self, t) return self:combatTalentSpellDamage(t, 15, 80) end, diff --git a/game/modules/tome/data/talents/spells/golem.lua b/game/modules/tome/data/talents/spells/golem.lua index dfa4eb9eee..0c22b73599 100644 --- a/game/modules/tome/data/talents/spells/golem.lua +++ b/game/modules/tome/data/talents/spells/golem.lua @@ -27,7 +27,7 @@ newTalent{ require = techs_req1, points = 5, cooldown = 10, - range = 10, + range = 5, stamina = 5, requires_target = true, getDamage = function(self, t) return self:combatTalentWeaponDamage(t, 0.8, 1.6) end, @@ -114,7 +114,7 @@ newTalent{ require = techs_req3, points = 5, cooldown = 10, - range = 10, + range = 5, stamina = 5, requires_target = true, getDamage = function(self, t) return self:combatTalentWeaponDamage(t, 0.8, 1.6) end, @@ -174,7 +174,7 @@ newTalent{ require = techs_req4, points = 5, cooldown = 15, - range = 10, + range = 5, stamina = 5, requires_target = true, getGolemDamage = function(self, t) @@ -239,7 +239,7 @@ newTalent{ require = spells_req1, points = 5, cooldown = 3, - range = 10, + range = 7, mana = 10, requires_target = true, getDamage = function(self, t) return self:combatTalentSpellDamage(t, 25, 200) end, diff --git a/game/modules/tome/data/talents/spells/ice.lua b/game/modules/tome/data/talents/spells/ice.lua index 6ac6a2116b..ef6426a5be 100644 --- a/game/modules/tome/data/talents/spells/ice.lua +++ b/game/modules/tome/data/talents/spells/ice.lua @@ -27,7 +27,7 @@ newTalent{ tactical = { ATTACKAREA = 10, }, - range = 20, + range = 10, proj_speed = 3, requires_target = true, getDamage = function(self, t) return self:combatTalentSpellDamage(t, 18, 200) end, @@ -92,7 +92,7 @@ newTalent{ tactical = { ATTACKAREA = 10, }, - range = 20, + range = 10, getDamage = function(self, t) return self:combatTalentSpellDamage(t, 10, 180) end, getTargetCount = function(self, t) return math.ceil(self:getTalentLevel(t) + 2) end, action = function(self, t) diff --git a/game/modules/tome/data/talents/spells/meta.lua b/game/modules/tome/data/talents/spells/meta.lua index 2f6abb2123..7989c70a79 100644 --- a/game/modules/tome/data/talents/spells/meta.lua +++ b/game/modules/tome/data/talents/spells/meta.lua @@ -27,7 +27,7 @@ newTalent{ cooldown = 7, direct_hit = true, requires_target = function(self, t) return self:getTalentLevel(t) >= 3 end, - range = 20, + range = 10, getRemoveCount = function(self, t) return math.floor(self:getTalentLevel(t)) end, action = function(self, t) local target = self diff --git a/game/modules/tome/data/talents/spells/staff-combat.lua b/game/modules/tome/data/talents/spells/staff-combat.lua index 6028150be0..04d1477e3b 100644 --- a/game/modules/tome/data/talents/spells/staff-combat.lua +++ b/game/modules/tome/data/talents/spells/staff-combat.lua @@ -26,7 +26,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 10, + range = 6, reflectable = true, proj_speed = 20, requires_target = true, @@ -140,6 +140,7 @@ newTalent{ tactical = { ATTACK = 10, }, + range = 1, requires_target = true, getDamage = function(self, t) return self:combatTalentWeaponDamage(t, 1, 1.5) end, getDazeDuration = function(self, t) return 4 + self:getTalentLevel(t) end, diff --git a/game/modules/tome/data/talents/spells/stone-alchemy.lua b/game/modules/tome/data/talents/spells/stone-alchemy.lua index 5fb749ea22..3132dc9cd1 100644 --- a/game/modules/tome/data/talents/spells/stone-alchemy.lua +++ b/game/modules/tome/data/talents/spells/stone-alchemy.lua @@ -22,9 +22,6 @@ newTalent{ type = {"spell/stone-alchemy-base", 1}, require = spells_req1, points = 1, - range = function(self, t) - return math.ceil(5 + self:getDex(12)) - end, mana = 30, no_npc_use = true, make_gem = function(self, t, base_define) diff --git a/game/modules/tome/data/talents/spells/stone.lua b/game/modules/tome/data/talents/spells/stone.lua index 0d9db6daaf..e3b25ec0f1 100644 --- a/game/modules/tome/data/talents/spells/stone.lua +++ b/game/modules/tome/data/talents/spells/stone.lua @@ -28,7 +28,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, direct_hit = true, reflectable = true, proj_speed = 20, @@ -137,7 +137,7 @@ newTalent{ tactical = { ATTACKAREA = 40, }, - range = 20, + range = 10, direct_hit = true, requires_target = true, getDamage = function(self, t) return self:combatTalentSpellDamage(t, 15, 70) end, diff --git a/game/modules/tome/data/talents/spells/storm.lua b/game/modules/tome/data/talents/spells/storm.lua index f9d62b4776..ecd221902a 100644 --- a/game/modules/tome/data/talents/spells/storm.lua +++ b/game/modules/tome/data/talents/spells/storm.lua @@ -67,7 +67,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, reflectable = true, getDamage = function(self, t) return self:combatTalentSpellDamage(t, 25, 200) end, action = function(self, t) @@ -98,7 +98,7 @@ newTalent{ tactical = { ATTACKAREA = 10, }, - range = 20, + range = 10, direct_hit = true, getDamage = function(self, t) return self:combatTalentSpellDamage(t, 25, 150) end, getChance = function(self, t) return 30 + self:getTalentLevel(t) * 5 end, diff --git a/game/modules/tome/data/talents/spells/temporal.lua b/game/modules/tome/data/talents/spells/temporal.lua index ba7345a96c..d54e9ae37b 100644 --- a/game/modules/tome/data/talents/spells/temporal.lua +++ b/game/modules/tome/data/talents/spells/temporal.lua @@ -30,7 +30,7 @@ newTalent{ }, reflectable = true, proj_speed = 2, - range = 10, + range = 6, direct_hit = true, requires_target = true, getSlow = function(self, t) return self:getTalentLevel(t) * 0.08 end, @@ -59,7 +59,7 @@ newTalent{ tactical = { DEFENSE = 10, }, - range = 20, + range = 10, getMaxAbsorb = function(self, t) return 50 + self:combatTalentSpellDamage(t, 50, 350) end, getDuration = function(self, t) return util.bound(5 + math.floor(self:getTalentLevel(t)), 5, 15) end, action = function(self, t) @@ -88,7 +88,7 @@ newTalent{ tactical = { DEFENSE = 10, }, - range = 20, + range = 10, direct_hit = true, reflectable = true, requires_target = true, diff --git a/game/modules/tome/data/talents/spells/water.lua b/game/modules/tome/data/talents/spells/water.lua index 2330d612ab..f4530cf9bc 100644 --- a/game/modules/tome/data/talents/spells/water.lua +++ b/game/modules/tome/data/talents/spells/water.lua @@ -28,7 +28,7 @@ newTalent{ tactical = { ATTACKAREA = 10, }, - range = 15, + range = 8, direct_hit = true, requires_target = true, getDamage = function(self, t) return self:combatTalentSpellDamage(t, 4, 50) end, @@ -70,7 +70,7 @@ newTalent{ tactical = { ATTACK = 10, }, - range = 20, + range = 10, direct_hit = true, reflectable = true, requires_target = true, diff --git a/game/modules/tome/data/talents/spells/wildfire.lua b/game/modules/tome/data/talents/spells/wildfire.lua index 60db51c39d..dac852e6e9 100644 --- a/game/modules/tome/data/talents/spells/wildfire.lua +++ b/game/modules/tome/data/talents/spells/wildfire.lua @@ -55,7 +55,7 @@ newTalent{ tactical = { ATTACKAREA = 40, }, - range = 20, + range = 10, getDamage = function(self, t) return self:combatTalentSpellDamage(t, 10, 240) end, getTargetCount = function(self, t) return math.ceil(self:getTalentLevel(t) + 2) end, action = function(self, t) @@ -92,7 +92,7 @@ newTalent{ tactical = { ATTACKAREA = 10, }, - range = 14, + range = 7, requires_target = true, getMultiplier = function(self, t) return self:combatTalentWeaponDamage(t, 0.5, 1.5) end, action = function(self, t) diff --git a/game/modules/tome/data/talents/techniques/archery.lua b/game/modules/tome/data/talents/techniques/archery.lua index 2509940171..e2498484b9 100644 --- a/game/modules/tome/data/talents/techniques/archery.lua +++ b/game/modules/tome/data/talents/techniques/archery.lua @@ -24,7 +24,7 @@ newTalent{ no_energy = "fake", hide = true, points = 1, - range = 20, + range = 10, message = "@Source@ shoots!", requires_target = true, action = function(self, t) @@ -47,7 +47,7 @@ newTalent{ cooldown = 3, stamina = 8, require = techs_dex_req1, - range = 20, + range = 10, requires_target = true, action = function(self, t) local targets = self:archeryAcquireTargets() @@ -146,7 +146,7 @@ newTalent{ cooldown = 14, stamina = 35, require = techs_dex_req4, - range = 20, + range = 10, requires_target = true, action = function(self, t) local targets = self:archeryAcquireTargets() @@ -206,7 +206,7 @@ newTalent{ cooldown = 10, stamina = 15, require = techs_dex_req2, - range = 20, + range = 10, requires_target = true, archery_onhit = function(self, t, target, x, y) if target:checkHit(self:combatAttackDex(), target:combatPhysicalResist(), 0, 95, 10) then @@ -235,7 +235,7 @@ newTalent{ cooldown = 10, stamina = 15, require = techs_dex_req3, - range = 20, + range = 10, requires_target = true, archery_onhit = function(self, t, target, x, y) if target:checkHit(self:combatAttackDex(), target:combatPhysicalResist(), 0, 95, 10) and target:canBe("pin") then @@ -267,7 +267,7 @@ newTalent{ cooldown = 14, stamina = 15, require = techs_dex_req4, - range = 20, + range = 10, requires_target = true, archery_onhit = function(self, t, target, x, y) if target:checkHit(self:combatAttackDex(), target:combatPhysicalResist(), 0, 95, 10) then diff --git a/game/modules/tome/data/talents/techniques/bow.lua b/game/modules/tome/data/talents/techniques/bow.lua index c59e6ab6ac..f88a68e8bc 100644 --- a/game/modules/tome/data/talents/techniques/bow.lua +++ b/game/modules/tome/data/talents/techniques/bow.lua @@ -25,7 +25,7 @@ newTalent{ mode = "passive", info = function(self, t) return ([[Increases damage done with bows by %d%%.]]):format(100 * (math.sqrt(self:getTalentLevel(t) / 10))) - end, + end, } newTalent{ @@ -36,7 +36,7 @@ newTalent{ cooldown = 8, stamina = 15, require = techs_dex_req2, - range = 20, + range = 10, requires_target = true, action = function(self, t) if not self:hasArcheryWeapon("bow") then game.logPlayer(self, "You must wield a bow!") return nil end @@ -59,7 +59,7 @@ newTalent{ cooldown = 8, stamina = 15, require = techs_dex_req3, - range = 20, + range = 10, requires_target = true, action = function(self, t) if not self:hasArcheryWeapon("bow") then game.logPlayer(self, "You must wield a bow!") return nil end @@ -83,7 +83,7 @@ newTalent{ cooldown = 12, stamina = 35, require = techs_dex_req4, - range = 20, + range = 10, direct_hit = true, requires_target = true, action = function(self, t) diff --git a/game/modules/tome/data/talents/techniques/combat-techniques.lua b/game/modules/tome/data/talents/techniques/combat-techniques.lua index 33f7ed8628..c215ceeb7b 100644 --- a/game/modules/tome/data/talents/techniques/combat-techniques.lua +++ b/game/modules/tome/data/talents/techniques/combat-techniques.lua @@ -61,7 +61,7 @@ newTalent{ ATTACK = 4, }, requires_target = true, - range = function(self, t) return math.floor(5 + self:getTalentLevel(t)) end, + range = function(self, t) return math.floor(5 + self:getTalentLevelRaw(t)) end, action = function(self, t) if self:attr("never_move") then game.logPlayer(self, "You can not do that currently.") return end diff --git a/game/modules/tome/data/talents/techniques/field-control.lua b/game/modules/tome/data/talents/techniques/field-control.lua index 124bca79d7..0530ee883a 100644 --- a/game/modules/tome/data/talents/techniques/field-control.lua +++ b/game/modules/tome/data/talents/techniques/field-control.lua @@ -49,7 +49,7 @@ newTalent{ random_ego = "utility", cooldown = 20, action = function(self, t) - local rad = 10 + self:getCun(10) * self:getTalentLevel(t) + local rad = 5 + self:getCun(10) * self:getTalentLevel(t) self:setEffect(self.EFF_SENSE, 3 + self:getTalentLevel(t), { range = rad, actor = 1, @@ -104,7 +104,7 @@ newTalent{ mode = "sustained", points = 5, cooldown = 30, - range = 20, + range = 10, sustain_stamina = 120, activate = function(self, t) return { diff --git a/game/modules/tome/data/talents/techniques/magical-combat.lua b/game/modules/tome/data/talents/techniques/magical-combat.lua index 959104b165..fcb0424896 100644 --- a/game/modules/tome/data/talents/techniques/magical-combat.lua +++ b/game/modules/tome/data/talents/techniques/magical-combat.lua @@ -33,10 +33,10 @@ newTalent{ if self:knowTalent(self.T_LIGHTNING) then spells[#spells+1] = self.T_LIGHTNING end local tid = rng.table(spells) if tid then - -- Extending beam target, assumes a maximum range of 20 + -- Extending beam target, assumes a maximum range of 10 local current_angle = math.atan2((target.y - self.y), (target.x - self.x)) + math.pi - target_x = self.x - math.floor(0.5 + (20 * math.cos(current_angle))) - target_y = self.y - math.floor(0.5 + (20 * math.sin(current_angle))) + target_x = self.x - math.floor(0.5 + (10 * math.cos(current_angle))) + target_y = self.y - math.floor(0.5 + (10 * math.sin(current_angle))) local l = line.new(self.x, self.y, target_x, target_y) local lx, ly = l() target_x, target_y = lx, ly @@ -97,7 +97,7 @@ newTalent{ cooldown = 5, sustain_stamina = 40, require = techs_req3, - range = 20, + range = 10, activate = function(self, t) local power = self:getTalentLevel(t) / 14 return { diff --git a/game/modules/tome/data/talents/techniques/sling.lua b/game/modules/tome/data/talents/techniques/sling.lua index 1e9b2860f9..94f1b5626b 100644 --- a/game/modules/tome/data/talents/techniques/sling.lua +++ b/game/modules/tome/data/talents/techniques/sling.lua @@ -36,7 +36,7 @@ newTalent{ cooldown = 8, stamina = 15, require = techs_dex_req2, - range = 20, + range = 10, requires_target = true, archery_onhit = function(self, t, target, x, y) if target:checkHit(self:combatAttackDex(), target:combatPhysicalResist(), 0, 95, 10) and target:canBe("blind") then @@ -69,7 +69,7 @@ newTalent{ cooldown = 8, stamina = 15, require = techs_dex_req3, - range = 20, + range = 10, requires_target = true, archery_onhit = function(self, t, target, x, y) if target:checkHit(self:combatAttackDex(), target:combatPhysicalResist(), 0, 95, 15) and target:canBe("knockback") then @@ -101,7 +101,7 @@ newTalent{ cooldown = 12, stamina = 35, require = techs_dex_req4, - range = 20, + range = 10, requires_target = true, action = function(self, t) if not self:hasArcheryWeapon("sling") then game.logPlayer(self, "You must wield a sling!") return nil end diff --git a/game/modules/tome/data/talents/undeads/ghoul.lua b/game/modules/tome/data/talents/undeads/ghoul.lua index 6921c53a0b..5a0143dd51 100644 --- a/game/modules/tome/data/talents/undeads/ghoul.lua +++ b/game/modules/tome/data/talents/undeads/ghoul.lua @@ -50,7 +50,7 @@ newTalent{ ATTACK = 10, }, direct_hit = true, - range = function(self, t) return math.floor(5 + self:getTalentLevel(t) * 1.2) end, + range = function(self, t) return math.floor(4 + self:getTalentLevel(t) * 1.2) end, requires_target = true, action = function(self, t) local tg = {type="hit", range=self:getTalentRange(t)} -- GitLab