diff --git a/game/modules/tome/data/talents/spells/conveyance.lua b/game/modules/tome/data/talents/spells/conveyance.lua index cec9b30419bca761e42a7dded7f01f315d7a7c53..9e80647e4e94709db93dfabbe62fb176f7af6005 100644 --- a/game/modules/tome/data/talents/spells/conveyance.lua +++ b/game/modules/tome/data/talents/spells/conveyance.lua @@ -136,6 +136,7 @@ newTalent{ if target ~= self and target:reactionToward(self) < 0 then target:setTarget(self) end local x, y = self.x, self.y + local newpos if self:getTalentLevel(t) >= 5 then game.logPlayer(self, "Selects a teleport location...") local tg = {type="ball", nolock=true, pass_terrain=true, nowarning=true, range=t.getRange(self, t), radius=t.getRadius(self, t), requires_knowledge=false} @@ -145,11 +146,11 @@ newTalent{ -- but we cant ... local _ _, x, y = self:canProject(tg, x, y) game.level.map:particleEmitter(target.x, target.y, 1, "teleport") - target:teleportRandom(x, y, t.getRadius(self, t)) + newpos = target:teleportRandom(x, y, t.getRadius(self, t)) game.level.map:particleEmitter(target.x, target.y, 1, "teleport") else game.level.map:particleEmitter(target.x, target.y, 1, "teleport") - target:teleportRandom(x, y, t.getRange(self, t), 15) + newpos = target:teleportRandom(x, y, t.getRange(self, t), 15) game.level.map:particleEmitter(target.x, target.y, 1, "teleport") end @@ -157,6 +158,9 @@ newTalent{ target:setEffect(target.EFF_CONTINUUM_DESTABILIZATION, 100, {power=self:combatSpellpower(0.3)}) end + if not newpos then + game.logSeen(game.player,"The spell fails: no suitable places to teleport to.") + end game:playSoundNear(self, "talents/teleport") return true end, diff --git a/game/modules/tome/data/talents/techniques/dualweapon.lua b/game/modules/tome/data/talents/techniques/dualweapon.lua index 3feb4a4423dd551beaf2c175e7de043b2fdfdc1c..dfd6da59023b5048c9abb49c29df918e22640b41 100644 --- a/game/modules/tome/data/talents/techniques/dualweapon.lua +++ b/game/modules/tome/data/talents/techniques/dualweapon.lua @@ -35,7 +35,7 @@ newTalent{ points = 5, require = techs_dex_req2, info = function(self, t) - return ([[You have learned to block incoming blows with your weapons, increasing your defense by %d. + return ([[You have learned to block incoming blows with your weapons. When dual wielding, your defense is increased by %d. Defense scales with Dexterity]]):format(4 + (self:getTalentLevel(t) * self:getDex()) / 12) end, } @@ -67,7 +67,7 @@ newTalent{ return true end, info = function(self, t) - return ([[You have learned to hit the right spot, increasing your armor penetration by %d. + return ([[You have learned to hit the right spot, increasing your armor penetration by %d when dual wielding. Armor penetration will increase with your Dexterity stat.]]):format(4 + (self:getTalentLevel(t) * self:getDex()) / 20) end, } diff --git a/game/modules/tome/dialogs/LevelupDialog.lua b/game/modules/tome/dialogs/LevelupDialog.lua index bddff191084cea74895a990eba9259f5144d00b3..d8bd75b2068e9aab9df803281d9cd8cd5c9a2cad 100644 --- a/game/modules/tome/dialogs/LevelupDialog.lua +++ b/game/modules/tome/dialogs/LevelupDialog.lua @@ -325,7 +325,7 @@ function _M:learnTalent(t_id, v) return end if not self:isUnlearnable(t, true) and self.actor_dup:getTalentLevelRaw(t_id) >= self.actor:getTalentLevelRaw(t_id) then - self:simplePopup("Impossible", "You cannot unlearn talents!") + self:simplePopup("Impossible", "You cannot unlearn this talent!") return end self.actor:unlearnTalent(t_id, nil, true) @@ -367,7 +367,7 @@ function _M:learnTalent(t_id, v) return end if not self:isUnlearnable(t, true) and self.actor_dup:getTalentLevelRaw(t_id) >= self.actor:getTalentLevelRaw(t_id) then - self:simplePopup("Impossible", "You cannot unlearn talents!") + self:simplePopup("Impossible", "You cannot unlearn this talent!") return end self.actor:unlearnTalent(t_id, nil, true)