Index: game/modules/tome/data/talents/chronomancy/spacetime-weaving.lua =================================================================== --- game/modules/tome/data/talents/chronomancy/spacetime-weaving.lua (revision 4060) +++ game/modules/tome/data/talents/chronomancy/spacetime-weaving.lua (working copy) @@ -104,11 +104,11 @@ if target:canBe("teleport") then local hit = self:checkHit(power, target:combatSpellResist() + (target:attr("continuum_destabilization") or 0)) - if not hit then + if not hit then game.logSeen(target, "%s resists the banishment!", target.name:capitalize()) return end - else + else game.logSeen(target, "%s resists the banishment!", target.name:capitalize()) return end @@ -292,4 +292,4 @@ return ([[Your mastery of spacetime reduces the cooldown of banish, dimensional step, swap, and temporal wake by %d and the cooldown of wormhole by %d. Also improves your chances of hitting targets with effects that may cause continuum destablization (Banish, Time Skip, etc.) as well as your chance of overcoming continuum destabilization by %d%%.]]): format(cooldown, wormhole, power) end, -} \ No newline at end of file +} Index: game/modules/tome/data/talents/chronomancy/timetravel.lua =================================================================== --- game/modules/tome/data/talents/chronomancy/timetravel.lua (revision 4060) +++ game/modules/tome/data/talents/chronomancy/timetravel.lua (working copy) @@ -114,10 +114,10 @@ paradox = 10, cooldown = 6, tactical = { ATTACKAREA = 2 }, - range = 0, - radius = function(self, t) - return 1 + self:getTalentLevelRaw(t) - end, + range = 0, + radius = function(self, t) + return 1 + self:getTalentLevelRaw(t) + end, target = function(self, t) return {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t), selffire=false, talent=t} end, Index: game/modules/tome/data/talents/chronomancy/chronomancy.lua =================================================================== --- game/modules/tome/data/talents/chronomancy/chronomancy.lua (revision 4060) +++ game/modules/tome/data/talents/chronomancy/chronomancy.lua (working copy) @@ -66,7 +66,7 @@ message = "@Source@ stabilizes the timeline.", cooldown = 24, tactical = { PARADOX = 2 }, - getDuration = function(self, t) + getDuration = function(self, t) local duration = 1 + math.floor(self:getTalentLevel(t)/2) if self:knowTalent(self.T_PARADOX_MASTERY) then duration = 1 + math.floor((self:getTalentLevel(t)/2) + self:getTalentLevel(self.T_PARADOX_MASTERY)/2) @@ -167,4 +167,4 @@ This spell takes no time to cast.]]): format(duration) end, -} \ No newline at end of file +} Index: game/modules/tome/data/talents/chronomancy/gravity.lua =================================================================== --- game/modules/tome/data/talents/chronomancy/gravity.lua (revision 4060) +++ game/modules/tome/data/talents/chronomancy/gravity.lua (working copy) @@ -24,7 +24,7 @@ points = 5, paradox = 5, cooldown = 4, - tactical = { ATTACKAREA = 2, ESCAPE = 2 }, + tactical = { ATTACKAREA = 2, ESCAPE = 1 }, range = 0, radius = function(self, t) return 4 + math.floor(self:getTalentLevelRaw (t)/2) Index: game/modules/tome/data/talents/chronomancy/energy.lua =================================================================== --- game/modules/tome/data/talents/chronomancy/energy.lua (revision 4060) +++ game/modules/tome/data/talents/chronomancy/energy.lua (working copy) @@ -150,7 +150,7 @@ info = function(self, t) local talentcount = t.getTalentCount(self, t) local cooldown = t.getCooldown(self, t) - return ([[You sap the target's energy and add it to your own, placing up to %d random talents on cooldown for %d turns and reducing the cooldown of one of your chronomancy talents currently on cooldown by %d turns per enemy talent effected. + return ([[You sap the target's energy and add it to your own, placing up to %d random talents on cooldown for %d turns and reducing the cooldown of one of your chronomancy talents currently on cooldown by %d turns per enemy talent effected. The cooldown adjustment scales with your Paradox.]]): format(talentcount, cooldown, cooldown) end, Index: game/modules/tome/data/talents/chronomancy/age-manipulation.lua =================================================================== --- game/modules/tome/data/talents/chronomancy/age-manipulation.lua (revision 4060) +++ game/modules/tome/data/talents/chronomancy/age-manipulation.lua (working copy) @@ -71,7 +71,7 @@ points = 5, paradox = 15, cooldown = 12, - tactical = { ATTACKAREA = 2, DISABLE= 2 }, + tactical = { ATTACKAREA = 2, DISABLE = 2 }, range = 0, radius = function(self, t) return 4 + math.floor(self:getTalentLevelRaw (t)/2) @@ -190,4 +190,4 @@ Does not remove 'time' or 'other' effects.]]): format(heal, count) end, -} \ No newline at end of file +} Index: game/modules/tome/data/talents/chronomancy/spacetime-folding.lua =================================================================== --- game/modules/tome/data/talents/chronomancy/spacetime-folding.lua (revision 4060) +++ game/modules/tome/data/talents/chronomancy/spacetime-folding.lua (working copy) @@ -49,7 +49,7 @@ points = 5, paradox = 5, cooldown = 10, - tactical = { ESCAPE = 2, CLOSEIN = 2, DISABLE = 2, }, + tactical = { ESCAPE = 2, CLOSEIN = 2, DISABLE = 2 }, requires_target = true, direct_hit = true, range = function(self, t) @@ -85,7 +85,7 @@ if not hit then game.logSeen(target, "The spell fizzles!") return true - else + else self:project(tg, tx, ty, DamageType.CONFUSION, { dur = t.getConfuseDuration(self, t), dam = t.getConfuseEfficency(self, t), Index: game/modules/tome/data/talents/chronomancy/matter.lua =================================================================== --- game/modules/tome/data/talents/chronomancy/matter.lua (revision 4060) +++ game/modules/tome/data/talents/chronomancy/matter.lua (working copy) @@ -1,4 +1,4 @@ --- ToME - Tales of Maj'Eyal +-- ToME - Tales of Maj'Eyal -- Copyright (C) 2009, 2010, 2011 Nicolas Casalini -- -- This program is free software: you can redistribute it and/or modify @@ -60,7 +60,7 @@ mode = "sustained", sustain_paradox = 75, cooldown = 12, - tactical = { BUFF =2, DEFEND = 2 }, + tactical = { BUFF = 2, DEFEND = 2 }, getDamageOnMeleeHit = function(self, t) return self:combatTalentSpellDamage(t, 10, 100) end, getArmor = function(self, t) return math.ceil (self:combatTalentSpellDamage(t, 20, 50)) end, do_carbonRegrowth = function(self, t) @@ -83,7 +83,7 @@ game:playSoundNear(self, "talents/generic") return { armor = self:addTemporaryValue("carbon_spikes", power), - onhit = self:addTemporaryValue("on_melee_hit", {[DamageType.BLEED]=t.getDamageOnMeleeHit(self, t)}), + onhit = self:addTemporaryValue("on_melee_hit", {[DamageType.BLEED]=t.getDamageOnMeleeHit(self, t)}), } end, deactivate = function(self, t, p) @@ -95,7 +95,7 @@ info = function(self, t) local damage = t.getDamageOnMeleeHit(self, t) local armor = t.getArmor(self, t) - return ([[Fragile spikes of carbon protrude from your flesh, clothing, and armor, increasing your armor rating by %d and inflicting %0.2f bleed damage over six turns on attackers. Each time you're struck the armor increase will be reduced by 1. Each turn the spell will regenerate 1 armor up to it's starting value. + return ([[Fragile spikes of carbon protrude from your flesh, clothing, and armor, increasing your armor rating by %d and inflicting %0.2f bleed damage over six turns on attackers. Each time you're struck the armor increase will be reduced by 1. Each turn the spell will regenerate 1 armor up to it's starting value. If the armor increase from the spell ever falls below 1 the sustain will deactivate and the effect will end. The armor and bleed damage will increase with your Spellpower.]]): format(armor, damDesc(self, DamageType.PHYSICAL, damage)) @@ -160,7 +160,7 @@ -- bonus damage on targets with temporal destabilization local damage = t.getDamage(self, t) - if target then + if target then if target:hasEffect(target.EFF_TEMPORAL_DESTABILIZATION) or target:hasEffect(target.EFF_CONTINUUM_DESTABILIZATION) then damage = damage * 1.5 end Index: game/modules/tome/data/talents/cunning/lethality.lua =================================================================== --- game/modules/tome/data/talents/cunning/lethality.lua (revision 4060) +++ game/modules/tome/data/talents/cunning/lethality.lua (working copy) @@ -107,7 +107,7 @@ local tids = {} for tid, _ in pairs(self.talents_cd) do local tt = self:getTalentFromId(tid) - if tt.type[2] <= t.getMaxLevel(self, t) and (tt.type[1]:find("^cunning/") or tt.type[1]:find("^technique/")) then + if tt.type[2] <= t.getMaxLevel(self, t) and (tt.type[1]:find("^cunning/") or tt.type[1]:find("^technique/")) then tids[#tids+1] = tid end end Index: game/modules/tome/data/talents/spells/storm.lua =================================================================== --- game/modules/tome/data/talents/spells/storm.lua (revision 4060) +++ game/modules/tome/data/talents/spells/storm.lua (working copy) @@ -24,7 +24,7 @@ points = 5, mana = 12, cooldown = 8, - tactical = { ATTACKAREA = 2, DISABLE =1 }, + tactical = { ATTACKAREA = 2, DISABLE = 1 }, range = 0, radius = function(self, t) return math.floor(2 + self:getTalentLevel(t) * 0.7) Index: game/modules/tome/data/talents/spells/wildfire.lua =================================================================== --- game/modules/tome/data/talents/spells/wildfire.lua (revision 4060) +++ game/modules/tome/data/talents/spells/wildfire.lua (working copy) @@ -66,7 +66,7 @@ points = 5, sustain_mana = 40, cooldown = 30, - tactical = { BUFF=2, ATTACKAREA = 1 }, + tactical = { BUFF = 2, ATTACKAREA = 1 }, getDamage = function(self, t) return self:combatTalentSpellDamage(t, 10, 55) end, activate = function(self, t) game:playSoundNear(self, "talents/fire") Index: game/modules/tome/data/talents/spells/advanced-golemancy.lua =================================================================== --- game/modules/tome/data/talents/spells/advanced-golemancy.lua (revision 4060) +++ game/modules/tome/data/talents/spells/advanced-golemancy.lua (working copy) @@ -68,7 +68,7 @@ points = 5, mana = 20, cooldown = function(self, t) return math.floor(25 - self:getTalentLevel(t)) end, - tactical = { DEFEND = 1, ATTACK=1 }, + tactical = { DEFEND = 1, ATTACK = 1, BUFF = 1 }, getPower = function(self, t) return (60 + self:combatTalentSpellDamage(t, 15, 450)) / 7, 7, 20 + self:getTalentLevel(t) * 7 end, action = function(self, t) local regen, dur, hp = t.getPower(self, t) Index: game/modules/tome/data/talents/spells/temporal.lua =================================================================== --- game/modules/tome/data/talents/spells/temporal.lua (revision 4060) +++ game/modules/tome/data/talents/spells/temporal.lua (working copy) @@ -81,7 +81,7 @@ random_ego = "utility", mana = 140, cooldown = 40, - tactical = { DISABLE = 1, ESCAPE = 3, PROTECT = 3 }, + tactical = { DISABLE = 3, ESCAPE = 2, PROTECT = 3 }, range = 10, direct_hit = true, reflectable = true, @@ -111,7 +111,7 @@ mode = "sustained", sustain_mana = 250, cooldown = 30, - tactical = { BUFF = 2 }, + tactical = { BUFF = 2, CLOSEIN = 2, ESCAPE = 2 }, getHaste = function(self, t) return self:getTalentLevel(t) * 0.09 end, activate = function(self, t) game:playSoundNear(self, "talents/spell_generic") Index: game/modules/tome/data/talents/spells/water.lua =================================================================== --- game/modules/tome/data/talents/spells/water.lua (revision 4060) +++ game/modules/tome/data/talents/spells/water.lua (working copy) @@ -100,7 +100,7 @@ random_ego = "attack", mana = 25, cooldown = 10, - tactical = { ESCAPE = 2, ATTACKAREA = 1, DISABLE = 1 }, + tactical = { ESCAPE = 1, ATTACKAREA = 2, DISABLE = 1 }, direct_hit = true, range = 0, radius = function(self, t) Index: game/modules/tome/data/talents/undeads/ghoul.lua =================================================================== --- game/modules/tome/data/talents/undeads/ghoul.lua (revision 4060) +++ game/modules/tome/data/talents/undeads/ghoul.lua (working copy) @@ -87,7 +87,7 @@ require = undeads_req3, points = 5, cooldown = 25, - tactical = { ATTACK = 1, HEAL = 1 }, + tactical = { ATTACKAREA = {[DamageType.RETCH] = 1}, HEAL = 2 }, range=1, requires_target = true, action = function(self, t) Index: game/modules/tome/data/talents/psionic/absorption.lua =================================================================== --- game/modules/tome/data/talents/psionic/absorption.lua (revision 4060) +++ game/modules/tome/data/talents/psionic/absorption.lua (working copy) @@ -28,7 +28,7 @@ local function getSpikeStrength(self, t) local ss = getShieldStrength(self, t) - return 75*self:getTalentLevel(t) + ss*math.sqrt(ss) + return 75*self:getTalentLevel(t) + ss*math.sqrt(ss) end local function getEfficiency(self, t) Index: game/modules/tome/data/talents/psionic/other.lua =================================================================== --- game/modules/tome/data/talents/psionic/other.lua (revision 4060) +++ game/modules/tome/data/talents/psionic/other.lua (working copy) @@ -148,7 +148,7 @@ end return true end, - deactivate = function (self, t) + deactivate = function (self, t) return true end, info = function(self, t) Index: game/modules/tome/data/talents/cursed/primal-magic.lua =================================================================== --- game/modules/tome/data/talents/cursed/primal-magic.lua (revision 4060) +++ game/modules/tome/data/talents/cursed/primal-magic.lua (working copy) @@ -32,7 +32,7 @@ points = 5, random_ego = "attack", cooldown = 10, - hate = 0.8, + hate = 0.8, range = 6, proj_speed = 4, tactical = { ATTACK = 2 }, Index: game/modules/tome/data/talents/cursed/darkness.lua =================================================================== --- game/modules/tome/data/talents/cursed/darkness.lua (revision 4060) +++ game/modules/tome/data/talents/cursed/darkness.lua (working copy) @@ -418,7 +418,7 @@ points = 5, random_ego = "attack", cooldown = 10, - hate = 1.2, + hate = 1.2, range = 6, tactical = { ATTACK = 2, DISABLE = 2 }, direct_hit = true, Index: game/modules/tome/data/talents/cursed/fateful-aura.lua =================================================================== --- game/modules/tome/data/talents/cursed/fateful-aura.lua (revision 4060) +++ game/modules/tome/data/talents/cursed/fateful-aura.lua (working copy) @@ -32,7 +32,7 @@ and (not effect.item_type or effect.item_type == item.type) and (not effect.item_subtype or effect.item_subtype == item.subtype) and (not effect.subclass or effect.subclass == who.descriptor.subclass) - and (not item.uses_special_on_hit or not item.combat or not item.combat.special_on_hit)then + and (not item.uses_special_on_hit or not item.combat or not item.combat.special_on_hit) then if effectName and effect.name == effectName then return effect end weightTotal = weightTotal + (effect.weighting or 1) @@ -363,4 +363,4 @@ return ([[Instill a part of your living curse into a weapon in your inventory and toss it nearby. This nearly impervious sentry will attack all nearby enemies for %d turns. When the curse ends the weapon will crumble to dust. Attack Speed: %d%%]]):format(duration, attackSpeed) end, -} \ No newline at end of file +} Index: game/modules/tome/data/talents/cursed/punishments.lua =================================================================== --- game/modules/tome/data/talents/cursed/punishments.lua (revision 4060) +++ game/modules/tome/data/talents/cursed/punishments.lua (working copy) @@ -32,7 +32,7 @@ points = 5, random_ego = "attack", cooldown = 3, - hate = 0.5, + hate = 0.5, range = 3, tactical = { ATTACKAREA = 2 }, getDamage = function(self, t) @@ -81,7 +81,7 @@ points = 5, random_ego = "attack", cooldown = 10, - hate = 0.8, + hate = 0.8, range = 7, tactical = { ATTACK = 2 }, direct_hit = true, @@ -142,7 +142,7 @@ points = 5, random_ego = "attack", cooldown = 6, - hate = 0.5, + hate = 0.5, getDamage = function(self, t) return combatTalentDamage(self, t, 20, 200) end, @@ -163,7 +163,7 @@ --local x, y, target = self:getTarget(tg) --if not x or not y then return nil end --local _ _, x, y = self:canProject(tg, x, y) - local x, y = self.x, self.y + local x, y = self.x, self.y local damage = t.getDamage(self, t) local mindpower = t.getMindpower(self, t) @@ -259,7 +259,7 @@ points = 5, random_ego = "attack", cooldown = 3, - hate = 0.5, + hate = 0.5, range = 7, tactical = { ATTACK = 2 }, direct_hit = true, @@ -357,7 +357,7 @@ points = 5, random_ego = "attack", cooldown = 30, - hate = 2, + hate = 2, range = function(self, t) return 3 + math.floor(self:getTalentLevel(t)) end, Index: game/modules/tome/data/talents/cursed/cursed-form.lua =================================================================== --- game/modules/tome/data/talents/cursed/cursed-form.lua (revision 4060) +++ game/modules/tome/data/talents/cursed/cursed-form.lua (working copy) @@ -46,7 +46,7 @@ getResist = function(self, t) return -18 + (self:getTalentLevel(t) * 3) + (18 * getHateMultiplier(self, 0, 1)) end, - do_regenLife = function(self, t) + do_regenLife = function(self, t) -- initialize if (self.unnatural_body_healing_factor or 0) == 0 then self.unnatural_body_healing_factor = -0.5 Index: game/modules/tome/data/talents/cursed/strife.lua =================================================================== --- game/modules/tome/data/talents/cursed/strife.lua (revision 4060) +++ game/modules/tome/data/talents/cursed/strife.lua (working copy) @@ -125,8 +125,6 @@ hate = 0.4, tactical = { ATTACK = 2 }, requires_target = true, - tactical = { CLOSEIN = 2 }, - requires_target = true, getDamagePercent = function(self, t) return 100 - (40 / math.max(1, self:getTalentLevel(t))) end, Index: game/modules/tome/data/talents/celestial/combat.lua =================================================================== --- game/modules/tome/data/talents/celestial/combat.lua (revision 4060) +++ game/modules/tome/data/talents/celestial/combat.lua (working copy) @@ -66,7 +66,7 @@ local _ _, x, y = self:canProject(tg, x, y) game:playSoundNear(self, "talents/spell_generic") local target = game.level.map(x, y, Map.ACTOR) - if target and target:checkHit(self:combatSpellpower(), target:combatMentalResist(), 0, 95, 15)then + if target and target:checkHit(self:combatSpellpower(), target:combatMentalResist(), 0, 95, 15) then target:setEffect(self.EFF_MARTYRDOM, 10, {power=t.getReturnDamage(self, t)}) else return Index: game/modules/tome/data/talents/celestial/sun.lua =================================================================== --- game/modules/tome/data/talents/celestial/sun.lua (revision 4060) +++ game/modules/tome/data/talents/celestial/sun.lua (working copy) @@ -25,9 +25,7 @@ points = 5, cooldown = 6, positive = -16, - tactical = { - ATTACK = 10, - }, + tactical = { ATTACK = 10 }, range = 7, tactical = { ATTACK = 2 }, direct_hit = true, @@ -107,7 +105,7 @@ At level 3 it will start dealing %0.2f light damage (radius %d). The damage will increase with the Magic stat.]]): format(radius, duration, radius * 2, damDesc(self, DamageType.LIGHT, damage), radius) - end, + end, } newTalent{ Index: game/modules/tome/data/talents/celestial/twilight.lua =================================================================== --- game/modules/tome/data/talents/celestial/twilight.lua (revision 4060) +++ game/modules/tome/data/talents/celestial/twilight.lua (working copy) @@ -75,7 +75,7 @@ end, info = function(self, t) return ([[Instantly travel to your jumpgate as long as you are within %d tiles of it.]]):format(t.getRange(self, t)) - end, + end, } newTalent{ @@ -88,18 +88,18 @@ sustain_negative = 20, no_npc_use = true, tactical = { ESCAPE = 2 }, - on_learn = function(self, t) + on_learn = function(self, t) if self:getTalentLevel(t) >= 4 and not self:knowTalent(self.T_JUMPGATE_TWO) then self:learnTalent(self.T_JUMPGATE_TWO) - end + end self:learnTalent(self.T_JUMPGATE_TELEPORT) end, - on_unlearn = function(self, t) + on_unlearn = function(self, t) if self:getTalentLevel(t) < 4 and self:knowTalent(self.T_JUMPGATE_TWO) then - self:unlearnTalent(self.T_JUMPGATE_TWO) - end + self:unlearnTalent(self.T_JUMPGATE_TWO) + end self:unlearnTalent(self.T_JUMPGATE_TELEPORT) - end, + end, activate = function(self, t) local terrain = game.level.map(game.player.x, game.player.y, engine.Map.TERRAIN) local jumpgate = mod.class.Object.new(terrain) @@ -138,8 +138,8 @@ local range = jumpgate_teleport.getRange(self, jumpgate_teleport) return ([[Create a shadow jumpgate at your location. As long as you sustain this spell you can use 'Jumpgate: Teleport' to instantly travel to the jumpgate as long as you are within %d tiles of it. At talent level 4 you learn to create and sustain a second jumpgate.]]):format(range) - end, - } + end, +} newTalent{ Index: game/modules/tome/data/talents/corruptions/blood.lua =================================================================== --- game/modules/tome/data/talents/corruptions/blood.lua (revision 4060) +++ game/modules/tome/data/talents/corruptions/blood.lua (working copy) @@ -65,7 +65,7 @@ vim = 20, range = 10, proj_speed = 20, - tactical = { ATTACK = 2, HEAL = 2 }, + tactical = { ATTACK = 2, HEAL = 1 }, requires_target = true, target = function(self, t) return {type="bolt", range=self:getTalentRange(t), talent=t, display={particle="bolt_blood"}} Index: game/modules/tome/data/talents/corruptions/sanguisuge.lua =================================================================== --- game/modules/tome/data/talents/corruptions/sanguisuge.lua (revision 4060) +++ game/modules/tome/data/talents/corruptions/sanguisuge.lua (working copy) @@ -96,7 +96,7 @@ sustain_vim = 30, cooldown = 30, range = 10, - tactical = { buff = 2 }, + tactical = { BUFF = 2 }, activate = function(self, t) game:playSoundNear(self, "talents/spell_generic2") local ret = { Index: game/modules/tome/data/talents/techniques/finishing-moves.lua =================================================================== --- game/modules/tome/data/talents/techniques/finishing-moves.lua (revision 4060) +++ game/modules/tome/data/talents/techniques/finishing-moves.lua (working copy) @@ -78,13 +78,13 @@ cooldown = 10, stamina = 10, message = "@Source@ throws a concussive punch.", - tactical = { ATTACK = 2, }, + tactical = { ATTACK = 2 }, radius = function(self, t) return 1 + math.floor(self:getTalentLevel(t) / 4) end, requires_target = true, --on_pre_use = function(self, t, silent) if not self:hasEffect(self.EFF_COMBO) then if not silent then game.logPlayer(self, "You must have a combo going to use this ability.") end return false end return true end, getDamage = function(self, t) return self:combatTalentWeaponDamage(t, 0.1, 0.8) + getStrikingStyle(self, dam) end, getAreaDamage = function(self, t) return self:combatTalentStatDamage(t, "str", 10, 300) * (1 + getStrikingStyle(self, dam)) end, - radius = function(self, t) + radius = function(self, t) return 1 + math.floor(self:getTalentLevel(t) / 4) end, action = function(self, t) @@ -245,4 +245,4 @@ Using this talent removes your combo points.]]) :format(damage, stamina, staminamax) end, -} \ No newline at end of file +} Index: game/modules/tome/data/talents/techniques/kick-boxing.lua =================================================================== --- game/modules/tome/data/talents/techniques/kick-boxing.lua (revision 4060) +++ game/modules/tome/data/talents/techniques/kick-boxing.lua (working copy) @@ -24,7 +24,7 @@ points = 5, cooldown = 6, stamina = 6, - tactical = { ATTACK = 2, ESCAPE = 2 }, + tactical = { ATTACK = 2, ESCAPE = 2, DISABLE = 1 }, requires_target = true, getDamage = function(self, t) return self:combatTalentStatDamage(t, "str", 20, 200) * (1 + getStrikingStyle(self, dam)) end, getPush = function(self, t) return 1 + math.ceil(self:getTalentLevel(t)/4) end, @@ -131,7 +131,7 @@ if math.floor(core.fov.distance(self.x, self.y, x, y)) > self:getTalentRange(t) then return nil end -- bonus damage for charging - local charge = math.floor((core.fov.distance(self.x, self.y, x, y)) -1) / 10 + local charge = math.floor((core.fov.distance(self.x, self.y, x, y)) -1) / 10 -- do the rush local l = line.new(self.x, self.y, x, y) @@ -234,4 +234,4 @@ The resist penetration will scale with the Dexterity stat.]]): format(resistpen, combo, drain) end, -} \ No newline at end of file +} Index: game/modules/tome/data/talents/techniques/unarmed-discipline.lua =================================================================== --- game/modules/tome/data/talents/techniques/unarmed-discipline.lua (revision 4060) +++ game/modules/tome/data/talents/techniques/unarmed-discipline.lua (working copy) @@ -97,7 +97,7 @@ self:project(target, target.x, target.y, DamageType.PHYSICAL, self:physicalCrit(t.getDamageTwo(self, t), nil, target)) game.logSeen(target, "%s has been slammed into the ground!", target.name:capitalize()) -- see if the throw stuns the enemy - if hit and target:canBe("stun")then + if hit and target:canBe("stun") then target:setEffect(target.EFF_STUNNED, 2, {}) end -- if not grappled daze @@ -105,7 +105,7 @@ self:project(target, target.x, target.y, DamageType.PHYSICAL, self:physicalCrit(t.getDamage(self, t), nil, target)) game.logSeen(target, "%s has been thrown to the ground!", target.name:capitalize()) -- see if the throw dazes the enemy - if hit and target:canBe("stun")then + if hit and target:canBe("stun") then target:setEffect(target.EFF_DAZED, 2, {}) end end Index: game/modules/tome/data/talents/techniques/grappling.lua =================================================================== --- game/modules/tome/data/talents/techniques/grappling.lua (revision 4060) +++ game/modules/tome/data/talents/techniques/grappling.lua (working copy) @@ -121,7 +121,7 @@ local duration = t.getDuration(self, t) local power = t.getPower(self, t) local drain = t.getDrain(self, t) - return ([[Grapples a target up to one size category larger then yourself for %d turns. A grappled opponent will be unable to move and its attack and defense will be reduced by %d. Any movement from the target or you will break the grapple. Maintaining a grapple drains %d stamina per turn. + return ([[Grapples a target up to one size category larger than yourself for %d turns. A grappled opponent will be unable to move and its attack and defense will be reduced by %d. Any movement from the target or you will break the grapple. Maintaining a grapple drains %d stamina per turn. You may only grapple a single target at a time and using any targeted unarmed talent on a target that you're not grappling will break the grapple. The grapple attack and defense reduction as well as success chance will scale with the strength stat. Performing this action will switch your stance to Grappling Stance.]]) @@ -291,7 +291,7 @@ info = function(self, t) local duration = t.getDuration(self, t) local takedown = t.getTakeDown(self, t) - local slam = t.getSlam(self, t) + local slam = t.getSlam(self, t) return ([[Rushes forward and attempts to take the target to the ground, starting a grapple, inflicting %0.2f physical damage, and dazing the target for %d turns. If you're already grappling the target you'll instead slam them into the ground for %0.2f physical damage and potentially stun them for %d turns. The grapple effects and duration will be based off your grapple talent effect if you have it and the damage will scale with the strength stat.]]) :format(damDesc(self, DamageType.PHYSICAL, (takedown)), duration, damDesc(self, DamageType.PHYSICAL, (slam)), duration) Index: game/modules/tome/data/talents/techniques/pugilism.lua =================================================================== --- game/modules/tome/data/talents/techniques/pugilism.lua (revision 4060) +++ game/modules/tome/data/talents/techniques/pugilism.lua (working copy) @@ -173,7 +173,7 @@ if math.floor(core.fov.distance(self.x, self.y, x, y)) > self:getTalentRange(t) then return nil end -- bonus damage for charging - local charge = math.floor((core.fov.distance(self.x, self.y, x, y)) -1) / 10 + local charge = math.floor((core.fov.distance(self.x, self.y, x, y)) -1) / 10 local damage = t.getDamage(self, t) + charge -- do the rush Index: game/modules/tome/data/talents/techniques/bloodthirst.lua =================================================================== --- game/modules/tome/data/talents/techniques/bloodthirst.lua (revision 4060) +++ game/modules/tome/data/talents/techniques/bloodthirst.lua (working copy) @@ -90,7 +90,7 @@ points = 5, cooldown = 45, stamina = 120, - tactical = { DEFEND = 5, CLOSEIN = 2 }, + tactical = { DEFEND = 5 }, action = function(self, t) self:setEffect(self.EFF_UNSTOPPABLE, 2 + self:getTalentLevelRaw(t), {hp_per_kill=math.floor(self:getTalentLevel(t) * 3.5)}) return true Index: game/modules/tome/data/talents/techniques/superiority.lua =================================================================== --- game/modules/tome/data/talents/techniques/superiority.lua (revision 4060) +++ game/modules/tome/data/talents/techniques/superiority.lua (working copy) @@ -107,7 +107,7 @@ mode = "sustained", cooldown = 30, sustain_stamina = 40, - tactical = { buff = 2 }, + tactical = { BUFF = 2 }, activate = function(self, t) return { dam = self:addTemporaryValue("shattering_impact", self:combatTalentWeaponDamage(t, 0.2, 0.6)), Index: game/modules/tome/data/talents/misc/npcs.lua =================================================================== --- game/modules/tome/data/talents/misc/npcs.lua (revision 4060) +++ game/modules/tome/data/talents/misc/npcs.lua (working copy) @@ -40,7 +40,7 @@ requires_target = true, tactical = { ATTACK = 3 }, action = function(self, t) - if not self.can_multiply or self.can_multiply <= 0 then print("no more multiply") return nil end + if not self.can_multiply or self.can_multiply <= 0 then print("no more multiply") return nil end -- Find space local x, y = util.findFreeGrid(self.x, self.y, 1, true, {[Map.ACTOR]=true}) @@ -498,12 +498,9 @@ points = 5, mana = 10, cooldown = 3, - tactical = { - ATTACK = 10, - }, + tactical = { ATTACK = 10 }, range = 10, reflectable = true, - tactical = { ATACK = 1 }, requires_target = true, action = function(self, t) local tg = {type="hit", range=self:getTalentRange(t), talent=t} @@ -525,9 +522,7 @@ points = 5, mana = 10, cooldown = 8, - tactical = { - ATTACK = 10, - }, + tactical = { ATTACK = 10 }, range = 10, direct_hit = true, reflectable = true, @@ -673,10 +668,7 @@ equilibrium = 12, cooldown = 12, message = "@Source@ projects ink!", - tactical = { - ATTACKAREA = 10, - DEFEND = 5, - }, + tactical = { ATTACKAREA = 10, DEFEND = 5 }, range = 0, radius = function(self, t) return 4 + self:getTalentLevelRaw(t) @@ -711,9 +703,7 @@ points = 5, equilibrium = 4, cooldown = 6, - tactical = { - ATTACK = 10, - }, + tactical = { ATTACK = 10 }, range = 10, requires_target = true, tactical = { ATTACK = 2 }, @@ -737,9 +727,7 @@ points = 5, equilibrium = 4, cooldown = 6, - tactical = { - ATTACK = 10, - }, + tactical = { ATTACK = 10 }, range = 10, requires_target = true, tactical = { ATTACK = 2 }, @@ -810,9 +798,7 @@ type = {"undead/other", 1}, points = 5, cooldown = 6, - tactical = { - ATTACK = 10, - }, + tactical = { ATTACK = 10 }, range = 10, radius = 2, direct_hit = true, @@ -842,9 +828,7 @@ equilibrium = 4, cooldown = 6, message = "@Source@ seems to search the ground...", - tactical = { - ATTACK = 10, - }, + tactical = { ATTACK = 10 }, range = 10, requires_target = true, tactical = { DISABLE = 2 }, @@ -885,9 +869,7 @@ points = 5, equilibrium = 4, cooldown = 6, - tactical = { - ATTACK = 10, - }, + tactical = { ATTACK = 10 }, range = 0, radius = function(self, t) return 2 + self:getTalentLevelRaw(t) / 1.5 @@ -924,9 +906,7 @@ points = 5, equilibrium = 5, cooldown = 3, - tactical = { - ATTACK = 10, - }, + tactical = { ATTACK = 10 }, range = 10, radius = 1, direct_hit = true, @@ -955,9 +935,7 @@ points = 5, equilibrium = 5, cooldown = 10, - tactical = { - ATTACK = 10, - }, + tactical = { ATTACK = 10 }, message = "@Source@ howls", range = 10, tactical = { ATTACK = 3 }, @@ -990,9 +968,7 @@ points = 5, equilibrium = 5, cooldown = 10, - tactical = { - ATTACK = 10, - }, + tactical = { ATTACK = 10 }, message = "@Source@ shrieks.", range = 10, direct_hit = true, @@ -1357,9 +1333,7 @@ points = 5, paradox = 10, cooldown = 8, - tactical = { - ATTACK = 10, - }, + tactical = { ATTACK = 10 }, range = 3, direct_hit = true, reflectable = true, @@ -1392,9 +1366,7 @@ type = {"chronomancy/other", 1}, points = 5, cooldown = 6, - tactical = { - BUFF = 10, - }, + tactical = { BUFF = 10 }, direct_hit = true, range = 0, radius = function(self, t) return 1 + self:getTalentLevelRaw(t) end, @@ -1420,9 +1392,7 @@ points = 5, paradox = 1, cooldown = 20, - tactical = { - ATTACK = 1000, - }, + tactical = { ATTACK = 1000 }, range = 10, direct_hit = true, requires_target = true, Index: game/modules/tome/data/talents/misc/inscriptions.lua =================================================================== --- game/modules/tome/data/talents/misc/inscriptions.lua (revision 4060) +++ game/modules/tome/data/talents/misc/inscriptions.lua (working copy) @@ -229,7 +229,7 @@ name = "Infusion: Insidious Poison", type = {"inscriptions/infusions", 1}, points = 1, - tactical = { ATTACK = 1, DISABLE=1 }, + tactical = { ATTACK = 1, DISABLE = 1 }, requires_target = true, range = function(self, t) local data = self:getInscriptionData(t.short_name) @@ -540,7 +540,7 @@ is_attack_rune = true, no_energy = true, is_spell = true, - tactical = { ATTACK = 1, DISABLE=1 }, + tactical = { ATTACK = 1, DISABLE = 1 }, requires_target = true, range = function(self, t) local data = self:getInscriptionData(t.short_name) @@ -585,7 +585,7 @@ return data.range end, target = function(self, t) - return {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t), selffire=false, talent=t} + return {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t), selffire=false, talent=t} end, action = function(self, t) local data = self:getInscriptionData(t.short_name) @@ -790,7 +790,7 @@ type = {"inscriptions/taints", 1}, points = 1, is_spell = true, - tactical = { ATTACK = 1, HEAL=1 }, + tactical = { ATTACK = 1, HEAL = 1 }, requires_target = true, direct_hit = true, no_energy = true, Index: game/modules/tome/data/talents/misc/races.lua =================================================================== --- game/modules/tome/data/talents/misc/races.lua (revision 4060) +++ game/modules/tome/data/talents/misc/races.lua (working copy) @@ -144,7 +144,7 @@ points = 5, no_energy = true, cooldown = function(self, t) return 50 - self:getTalentLevel(t) * 4 end, - tactical = { DEFEND = 1 }, + tactical = { BUFF = 2, CLOSEIN = 2, ESCAPE = 2 }, action = function(self, t) local power = 0.1 + self:getDex() / 210 self:setEffect(self.EFF_SPEED, 8, {power=power}) @@ -256,7 +256,7 @@ points = 5, no_energy = true, cooldown = function(self, t) return 50 - self:getTalentLevel(t) * 5 end, - tactical = { ATTACK = 1, DEFEND = 1 }, + tactical = { ATTACK = 1, DEFEND = 1, BUFF = 1 }, action = function(self, t) self:setEffect(self.EFF_ETERNAL_WRATH, 5, {power=7 + self:getWil(10, true)}) return true Index: game/modules/tome/data/talents/gifts/summon-melee.lua =================================================================== --- game/modules/tome/data/talents/gifts/summon-melee.lua (revision 4060) +++ game/modules/tome/data/talents/gifts/summon-melee.lua (working copy) @@ -103,7 +103,7 @@ range = 10, requires_target = true, is_summon = true, - tactical = { ATTACK = 1, EQUILIBRIUM = 1, }, + tactical = { ATTACK = 1, EQUILIBRIUM = 1 }, on_pre_use = function(self, t, silent) if not self:canBe("summon") and not silent then game.logPlayer(self, "You can not summon, you are suppressed!") return end return not checkMaxSummon(self, silent) @@ -173,7 +173,7 @@ :format(math.ceil(self:getTalentLevel(t)) + 5 + self:getTalentLevelRaw(self.T_RESILIENCE), 10 + self:getWil() * self:getTalentLevel(t) / 5 + self:getTalentLevelRaw(self.T_RESILIENCE) * 3, 10 + self:getTalentLevel(t) * 2) - end, + end, } newTalent{ Index: game/modules/tome/data/talents/gifts/earthen-vines.lua =================================================================== --- game/modules/tome/data/talents/gifts/earthen-vines.lua (revision 4060) +++ game/modules/tome/data/talents/gifts/earthen-vines.lua (working copy) @@ -135,7 +135,7 @@ cooldown = 10, requires_target = true, range = 20, - tactical = { ATTACK = 2, CLONEIN = 2 }, + tactical = { ATTACK = 2, CLOSEIN = 2 }, action = function(self, t) local tg = {type="hit", range=self:getTalentRange(t)} local x, y, target = self:getTarget(tg) Index: game/modules/tome/data/talents/gifts/fire-drake.lua =================================================================== --- game/modules/tome/data/talents/gifts/fire-drake.lua (revision 4060) +++ game/modules/tome/data/talents/gifts/fire-drake.lua (working copy) @@ -63,7 +63,7 @@ return 4 + self:getTalentLevelRaw(t) end, direct_hit = true, - tactical = { DEFEND = 1, DISABLE = 2, ESCAPE = 1 }, + tactical = { DEFEND = 1, DISABLE = 2, ESCAPE = 1, ATTACKAREA = 1 }, requires_target = true, target = function(self, t) return {type="cone", range=self:getTalentRange(t), radius=self:getTalentRadius(t), selffire=false, talent=t} Index: game/modules/tome/data/talents/gifts/sand-drake.lua =================================================================== --- game/modules/tome/data/talents/gifts/sand-drake.lua (revision 4060) +++ game/modules/tome/data/talents/gifts/sand-drake.lua (working copy) @@ -87,7 +87,7 @@ local radius = self:getTalentRadius(t) local dam = t.getDamage(self, t) return ([[You slam your foot onto the ground, shaking the area around you in a radius of %d. - Creatures caught by the quake will be damaged for %d and knocked back up to 4 titles away. + Creatures caught by the quake will be damaged for %d and knocked back up to 4 titles away. The terrain will also be moved around within the quake's radius. The damage will increase with the Strength stat.]]):format(radius, dam) end, Index: game/modules/tome/data/talents/gifts/harmony.lua =================================================================== --- game/modules/tome/data/talents/gifts/harmony.lua (revision 4060) +++ game/modules/tome/data/talents/gifts/harmony.lua (working copy) @@ -24,7 +24,7 @@ points = 5, cooldown = 30, equilibrium = 10, - tactical = { HEAL=2 }, + tactical = { HEAL = 2 }, on_pre_use = function(self, t) for eff_id, p in pairs(self.tmp) do local e = self.tempeffect_def[eff_id] @@ -100,7 +100,7 @@ points = 5, equilibrium = 15, cooldown = 30, - tactical = { BUFF=2 }, + tactical = { BUFF = 2 }, on_pre_use = function(self, t) return self:hasEffect(self.EFF_INFUSION_COOLDOWN) end, action = function(self, t) self:removeEffect(self.EFF_INFUSION_COOLDOWN) Index: game/modules/tome/data/talents/gifts/storm-drake.lua =================================================================== --- game/modules/tome/data/talents/gifts/storm-drake.lua (revision 4060) +++ game/modules/tome/data/talents/gifts/storm-drake.lua (working copy) @@ -27,7 +27,7 @@ equilibrium = 10, cooldown = 26, range = 10, - tactical = { CLOSEIN = 2, ESCAPE = 2 }, + tactical = { CLOSEIN = 2, ESCAPE = 2, BUFF = 0.5 }, requires_target = true, action = function(self, t) self:setEffect(self.EFF_LIGHTNING_SPEED, math.ceil(1 + self:getTalentLevel(t) * 0.3), {power=400 + self:getTalentLevel(t) * 70})