From 07c30e76170a295af4e466897a511fa9a398d54f Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Wed, 9 May 2012 21:25:14 +0000 Subject: [PATCH] fix git-svn-id: http://svn.net-core.org/repos/t-engine4@5113 51575b47-30f0-44d4-a5cc-537603b46e54 --- .../tome/data/talents/cursed/force-of-will.lua | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) 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 967a710dd5..c62d395ca0 100644 --- a/game/modules/tome/data/talents/cursed/force-of-will.lua +++ b/game/modules/tome/data/talents/cursed/force-of-will.lua @@ -22,7 +22,7 @@ -- knockback: distance to knockback -- knockbackDamage: when knockback strikes something, both parties take damage - percent of damage * remaining knockback -- power: used to determine the initial radius of particles -local function forceHit(self, target, sourceX, sourceY, damage, knockback, knockbackDamage, power) +local function forceHit(self, target, sourceX, sourceY, damage, knockback, knockbackDamage, power, max) -- apply initial damage if damage > 0 then damage = self:mindCrit(damage) @@ -70,8 +70,9 @@ local function forceHit(self, target, sourceX, sourceY, damage, knockback, knock 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) + if max > 0 then + forceHit(self, nextTarget, sourceX, sourceY, blockDamage, knockback, knockbackDamage, power / 2, max - 1) + end end knockback = 0 @@ -127,7 +128,7 @@ newTalent{ local power = 1 --(1 - ((distance - 1) / range)) local damage = t.getDamage(self, t) * power local knockback = t.getKnockback(self, t) - forceHit(self, target, self.x, self.y, damage, knockback, 7, power) + forceHit(self, target, self.x, self.y, damage, knockback, 7, power, 10) return true end, on_learn = function(self, t) @@ -265,7 +266,7 @@ newTalent{ local localDamage = damage * power local dazeDuration = t.getDazeDuration(self, t) - forceHit(self, target, blastX, blastY, damage, math.max(0, knockback - distance), 7, power) + forceHit(self, target, blastX, blastY, damage, math.max(0, knockback - distance), 7, power, 10) if target:canBe("stun") then target:setEffect(target.EFF_DAZED, dazeDuration, {src=self}) end @@ -350,7 +351,7 @@ newTalent{ -- Randomly take targets for i = 1, hitCount do local target, index = rng.table(targets) - forceHit(self, target, target.x, target.y, damage, knockback, 7, 0.6) + forceHit(self, target, target.x, target.y, damage, knockback, 7, 0.6, 10) end end -- GitLab