From 14c9d5151beb6f49e3cb02453061fa7bd2d1bc65 Mon Sep 17 00:00:00 2001 From: HousePet <andre_axem@hotmail.com> Date: Thu, 18 Sep 2014 14:11:52 +0930 Subject: [PATCH] Further minor description and code typos corrected. --- .../tome/data/talents/psionic/absorption.lua | 6 +++--- .../data/talents/psionic/augmented-mobility.lua | 2 +- .../data/talents/psionic/charged-mastery.lua | 14 +++++++------- .../modules/tome/data/talents/psionic/focus.lua | 6 +++--- .../data/talents/psionic/kinetic-mastery.lua | 17 ++++++++++------- .../modules/tome/data/talents/psionic/other.lua | 4 ++-- .../data/talents/psionic/thermal-mastery.lua | 10 +++++++--- .../tome/data/talents/psionic/voracity.lua | 6 +++--- 8 files changed, 36 insertions(+), 29 deletions(-) diff --git a/game/modules/tome/data/talents/psionic/absorption.lua b/game/modules/tome/data/talents/psionic/absorption.lua index 77fc5faf1f..8d84b7f305 100644 --- a/game/modules/tome/data/talents/psionic/absorption.lua +++ b/game/modules/tome/data/talents/psionic/absorption.lua @@ -217,7 +217,7 @@ newTalent{ local s_str = getShieldStrength(self, t) local absorb = 100*getEfficiency(self,t) return ([[Surround yourself with a shield that will absorb %d%% of any physical/acid/nature/temporal attack, up to a maximum of %d damage per attack. - Every time your shield absorbs damage, you convert some of the attack into energy, gaining two points of Psi, plus an additional point for every %0.1f points of damage absorbed, up to a maximum %0.1f points each turn. + Every time your shield absorbs damage, you convert some of the attack into energy, gaining one point of Psi, plus an additional point for every %0.1f points of damage absorbed, up to a maximum %0.1f points each turn. At talent level 3, when you de-activate the shield twice the absorbed damage (if any) in the last 3 turns is released as a full psionic shield (absorbing all damage). The maximum amount of damage your shield can absorb and the efficiency of the psi gain scale with your mindpower.]]): format(absorb, s_str, shieldMastery(self, t), maxPsiAbsorb(self,t)) @@ -359,7 +359,7 @@ newTalent{ local s_str = getShieldStrength(self, t) local absorb = 100*getEfficiency(self,t) return ([[Surround yourself with a shield that will absorb %d%% of any fire/cold/light/arcane attack, up to a maximum of %d damage per attack. - Every time your shield absorbs damage, you convert some of the attack into energy, gaining two points of Psi, plus an additional point for every %0.1f points of damage absorbed, up to a maximum %0.1f points each turn. + Every time your shield absorbs damage, you convert some of the attack into energy, gaining one point of Psi, plus an additional point for every %0.1f points of damage absorbed, up to a maximum %0.1f points each turn. At talent level 3, when you de-activate the shield twice the absorbed damage (if any) in the last 3 turns is released as a full psionic shield (absorbing all damage). The maximum amount of damage your shield can absorb and the efficiency of the psi gain scale with your mindpower.]]): format(absorb, s_str, shieldMastery(self, t), maxPsiAbsorb(self,t)) @@ -501,7 +501,7 @@ newTalent{ local s_str = getShieldStrength(self, t) local absorb = 100*getEfficiency(self,t) return ([[Surround yourself with a shield that will absorb %d%% of any lightning/blight/darkness/mind attack, up to a maximum of %d damage per attack. - Every time your shield absorbs damage, you convert some of the attack into energy, gaining two points of Psi, plus an additional point for every %0.1f points of damage absorbed, up to a maximum %0.1f points each turn. + Every time your shield absorbs damage, you convert some of the attack into energy, gaining one point of Psi, plus an additional point for every %0.1f points of damage absorbed, up to a maximum %0.1f points each turn. At talent level 3, when you de-activate the shield twice the absorbed damage (if any) in the last 3 turns is released as a full psionic shield (absorbing all damage). The maximum amount of damage your shield can absorb and the efficiency of the psi gain scale with your mindpower.]]): format(absorb, s_str, shieldMastery(self, t), maxPsiAbsorb(self,t)) diff --git a/game/modules/tome/data/talents/psionic/augmented-mobility.lua b/game/modules/tome/data/talents/psionic/augmented-mobility.lua index b178442f84..23ee3bab06 100644 --- a/game/modules/tome/data/talents/psionic/augmented-mobility.lua +++ b/game/modules/tome/data/talents/psionic/augmented-mobility.lua @@ -87,7 +87,7 @@ newTalent{ psi = 10, points = 5, tactical = { CLOSEIN = 2 }, - range = function(self, t) return self:combatTalentLimit(t, 10, 3, 7) end, -- Limit base range to 10 + range = function(self, t) return math.floor(self:combatTalentLimit(t, 10, 3, 7)) end, -- Limit base range to 10 action = function(self, t) local tg = {type="bolt", range=self:getTalentRange(t)} local x, y = self:getTarget(tg) diff --git a/game/modules/tome/data/talents/psionic/charged-mastery.lua b/game/modules/tome/data/talents/psionic/charged-mastery.lua index fe1ce5db5a..edcb287a13 100644 --- a/game/modules/tome/data/talents/psionic/charged-mastery.lua +++ b/game/modules/tome/data/talents/psionic/charged-mastery.lua @@ -43,12 +43,12 @@ newTalent{ info = function(self, t) return ([[For %d turns your electrokinesis transcends your normal limits, increasing your Lightning damage by %d%% and your Lightning resistance penetration by %d%%. In addition: - The cooldowns of Charged Shield, Charged Leech, Charged Aura and Brainstorm are reset. + The cooldowns of Charged Shield, Charged Leech, Charged Aura, Charged Strike and Brainstorm are reset. Charged Aura effects will have their radius increased by 1. Your Charged Shield will have 100%% absorption efficiency and will absorb twice the normal amount of damage. Brainstorm will also inflict blindness. Charge Leech will also inflict confusion (%d%% effect). - Charged Strike will have its secondary lightning/blind burst chain to up to 3 targets in a radius of 3. + Charged Strike will have its secondary lightning burst chain to up to 3 targets in a radius of 3. The damage bonus and resistance penetration scale with your Mindpower. Only one Transcendent talent may be in effect at a time.]]):format(t.getDuration(self, t), t.getPower(self, t), t.getPenetration(self, t), t.getConfuse(self, t)) end, @@ -72,7 +72,7 @@ newTalent{ info = function(self, t) return ([[Detect the mental activity of creatures in a radius of %d for %d turns. This reveals their location and boosts your defense by %d. - The duration, defense, and radius scale with your Mindpower.]]):format(t.radius(self, t), t.getDuration(self, t), t.getDefense(self, t)) + The defense scales with you Mindpower and the range with your Willpower.]]):format(t.radius(self, t), t.getDuration(self, t), t.getDefense(self, t)) end, } @@ -83,19 +83,19 @@ newTalent{ points = 5, random_ego = "attack", psi = 32, - cooldown = 13, + cooldown = 23, tactical = { ATTACKAREA = { LIGHTNING = 2 } }, range = 8, - radius = function(self,t) return math.floor(self:combatTalentScale(t, 2, 5)) end, + radius = function(self,t) return math.floor(self:combatTalentScale(t, 2, 4)) end, direct_hit = true, requires_target = true, target = function(self, t) return {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t)} end, getSlow = function(self, t) return self:combatLimit(self:combatTalentMindDamage(t, 5, 50), 50, 4, 4, 34, 34) end, -- Limit < 50% - getDamage = function(self, t) return self:combatTalentMindDamage(t, 20, 130) end, + getDamage = function(self, t) return self:combatTalentMindDamage(t, 20, 100) end, getWeaponDamage = function(self, t) return self:combatTalentMindDamage(t, 10, 50) end, - getDuration = function(self, t) return math.floor(self:combatTalentScale(t, 3, 9)) end, + getDuration = function(self, t) return math.floor(self:combatTalentScale(t, 3, 6)) end, action = function(self, t) local tg = self:getTalentTarget(t) local x, y = self:getTarget(tg) diff --git a/game/modules/tome/data/talents/psionic/focus.lua b/game/modules/tome/data/talents/psionic/focus.lua index 7ab7cc1edf..952213b5be 100644 --- a/game/modules/tome/data/talents/psionic/focus.lua +++ b/game/modules/tome/data/talents/psionic/focus.lua @@ -66,7 +66,7 @@ newTalent{ newTalent{ name = "Pyrokinesis", - type = {"psionic/focus", 2}, + type = {"psionic/focus", 1}, require = psi_wil_req2, points = 5, random_ego = "attack", @@ -96,13 +96,13 @@ newTalent{ local radius = self:getTalentRadius(t) local dam = t.getDamage(self, t) return ([[Telekinetically energize the matter of all foes within %d squares at the molecular level, setting them ablaze. This does %0.1f fire damage over six turns.]]): - format(radius, damDesc(self, DamageType.FIREBURN, dam)) + format(radius, damDesc(self, DamageType.FIRE, dam)) end, } newTalent{ name = "Brain Storm", - type = {"psionic/focus", 3}, + type = {"psionic/focus", 1}, points = 5, require = psi_wil_req3, psi = 15, diff --git a/game/modules/tome/data/talents/psionic/kinetic-mastery.lua b/game/modules/tome/data/talents/psionic/kinetic-mastery.lua index 93d8025d61..9d8d4c16aa 100644 --- a/game/modules/tome/data/talents/psionic/kinetic-mastery.lua +++ b/game/modules/tome/data/talents/psionic/kinetic-mastery.lua @@ -42,7 +42,7 @@ newTalent{ info = function(self, t) return ([[For %d turns your telekinesis transcends your normal limits, increasing your Physical damage by %d%% and you Physical resistance penetration by %d%%. In addition: - The cooldowns of Kinetic Shield, Kinetic Leech, Kinetic Aura and Mindlash are reset. + The cooldowns of Kinetic Shield, Kinetic Leech, Kinetic Aura, Kinetic Strike and Mindlash are reset. Kinetic Aura effects will have their radius increased by 1. Your Kinetic Shield will have 100%% absorption efficiency and will absorb twice the normal amount of damage. Mindlash will also inflict stun. @@ -146,7 +146,7 @@ newTalent{ When used on yourself, you will launch in a straight line, knocking enemies flying and doing %0.1f Physical damage to each. You can break through %d walls while doing this. - The damage improves with your Mindpower and the range increases with both Mindpower and Strength.]]): + The damage improves with your Mindpower and the range increases with Mindpower.]]): format(range, dam, math.floor(range/2), dam/2, t.getKBResistPen(self, t), dam, math.floor(range/2)) end, } @@ -234,11 +234,14 @@ newTalent{ local tg = self:getTalentTarget(t) local x, y = self:getTarget(tg) if not x or not y then return nil end - self:project(tg, x, y, DamageType.IMPLOSION, {dur=dur, dam=dam}) - local target = game.level.map(x, y, Map.ACTOR) - if target then - target:setEffect(self.EFF_PSIONIC_BIND, dur, {power=1, apply_power=self:combatMindpower()}) - end + + self:project(tg, x, y, function(px, py) + DamageType:get(DamageType.IMPLOSION).projector(self, px, py, DamageType.IMPLOSION, {dur=dur, dam=dam}) + local act = game.level.map(px, py, Map.ACTOR) + if not act then return end + act:setEffect(self.EFF_PSIONIC_BIND, dur, {power=1, apply_power=self:combatMindpower()}) + end) + return true end, info = function(self, t) diff --git a/game/modules/tome/data/talents/psionic/other.lua b/game/modules/tome/data/talents/psionic/other.lua index 925b3ca3fd..d2a0f0c6b3 100644 --- a/game/modules/tome/data/talents/psionic/other.lua +++ b/game/modules/tome/data/talents/psionic/other.lua @@ -274,7 +274,7 @@ newTalent{ info = function(self, t) local base = [[Allows you to wield a physical melee weapon, a mindstar or a gem telekinetically, gaining a special effect for each. A gem will provide +3 bonus to all primary stats per tier of the gem. - A mindstar will randomly try to telekinetically grab a far away foe (5% chance and range 2 for a tier 1 mindstar, +1 range and +5% chance for each tier above 1) and pull it into melee range. + A mindstar will randomly try to telekinetically grab a far away foe (10% chance and range 2 for a tier 1 mindstar, +1 range and +5% chance for each tier above 1) and pull it into melee range. A physical melee weapon will act as a semi independant entity, attacking foes nearby each turn while also replacing Strength and Dexterity with Willpower and Cunning for accuracy and damage calculations. This stat usage modification will also apply to conventionally wielded weapons. ]] @@ -290,7 +290,7 @@ newTalent{ local speed = 1 if o.type == "gem" then local ml = o.material_level or 1 - base = base..([[The telekinetically-wielded gem grants you +%d stats.]]):format(ml * 4) + base = base..([[The telekinetically-wielded gem grants you +%d stats.]]):format(ml * 3) elseif o.subtype == "mindstar" then local ml = o.material_level or 1 base = base..([[The telekinetically-wielded mindstar has a %d%% chance to grab a foe up to %d range away.]]):format((ml + 1) * 5, ml + 2) diff --git a/game/modules/tome/data/talents/psionic/thermal-mastery.lua b/game/modules/tome/data/talents/psionic/thermal-mastery.lua index 8db94a4945..decb0d6dee 100644 --- a/game/modules/tome/data/talents/psionic/thermal-mastery.lua +++ b/game/modules/tome/data/talents/psionic/thermal-mastery.lua @@ -43,7 +43,7 @@ newTalent{ info = function(self, t) return ([[For %d turns your pyrokinesis transcends your normal limits, increasing your Fire and Cold damage by %d%% and your Fire and Cold resistance penetration by %d%%. In addition: - The cooldowns of Thermal Shield, Thermal Leech, Thermal Aura and Pyrokinesis are reset. + The cooldowns of Thermal Shield, Thermal Leech, Thermal Aura, Thermal Strike and Pyrokinesis are reset. Thermal Aura effects will have their radius increased by 1. Your Thermal Shield will have 100%% absorption efficiency and will absorb twice the normal amount of damage. Pyrokinesis will inflict Flameshock. @@ -77,8 +77,12 @@ newTalent{ local target = game.level.map(x, y, Map.ACTOR) if not target then return end - self:project(tg, x, y, DamageType.COLD, self:mindCrit(rng.avg(0.8*dam, dam)), {type="mindsear"}) - target:setEffect(target.EFF_BRAINLOCKED, 4, {apply_power=self:combatMindpower()}) + self:project(tg, x, y, function(px, py) + DamageType:get(DamageType.COLD).projector(self, px, py, DamageType.COLD, self:mindCrit(rng.avg(0.8*dam, dam))) + local act = game.level.map(px, py, Map.ACTOR) + if not act then return end + act:setEffect(target.EFF_BRAINLOCKED, 4, {apply_power=self:combatMindpower()}) + end, {type="mindsear"}) return true end, diff --git a/game/modules/tome/data/talents/psionic/voracity.lua b/game/modules/tome/data/talents/psionic/voracity.lua index dd766be58a..aed01c735f 100644 --- a/game/modules/tome/data/talents/psionic/voracity.lua +++ b/game/modules/tome/data/talents/psionic/voracity.lua @@ -31,7 +31,7 @@ newTalent{ direct_hit = true, requires_target = true, range = 0, - radius = function(self,t) return self:combatTalentScale(t, 1, 4) end, + radius = function(self,t) return math.floor(self:combatTalentScale(t, 1, 4)) end, target = function(self, t) return {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t), selffire=false, talent=t} end, @@ -97,7 +97,7 @@ newTalent{ direct_hit = true, requires_target = true, range = 0, - radius = function(self,t) return self:combatTalentScale(t, 1, 4) end, + radius = function(self,t) return math.floor(self:combatTalentScale(t, 1, 4)) end, target = function(self, t) return {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t), selffire=false, talent=t} end, @@ -157,7 +157,7 @@ newTalent{ direct_hit = true, requires_target = true, range = 0, - radius = function(self,t) return self:combatTalentScale(t, 1, 4) end, + radius = function(self,t) return math.floor(self:combatTalentScale(t, 1, 4)) end, target = function(self, t) return {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t), selffire=false, talent=t} end, -- GitLab