diff --git a/game/modules/tome/class/Trap.lua b/game/modules/tome/class/Trap.lua index aa4a60ac0909e0d30c8a574d8d3a76bf143dfcc0..f5cc58088fdbce8b9dfc7c9856d8846233a1dbf4 100644 --- a/game/modules/tome/class/Trap.lua +++ b/game/modules/tome/class/Trap.lua @@ -55,7 +55,7 @@ function _M:canDisarm(x, y, who) -- do we know how to disarm? if who:knowTalent(who.T_TRAP_DISARM) or who:attr("can_disarm") then local power = who:getTalentLevel(who.T_TRAP_DISARM) * who:getCun(25) + (who:attr("disarm_bonus") or 0) - if who:checkHit(power, self.disarm_power) then + if who:checkHit(power, self.disarm_power) and (not self.faction or who:reactionToward(self) < 0) then return true end end diff --git a/game/modules/tome/data/talents/cunning/traps.lua b/game/modules/tome/data/talents/cunning/traps.lua index 0edc8912cf6d25a52fe49a955ba8dee2822d8ffb..139e19d5480d59ae369cf59858e499bdfc68e5dd 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 1 + 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) * 2.2) end ---------------------------------------------------------------- -- Trapping @@ -80,6 +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, 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) @@ -105,7 +106,7 @@ newTalent{ ai = "summoned", ai_real = "dumb_talented", ai_state = { talent_in=1, }, level_range = {1, 1}, exp_worth = 0, - max_life = 1, + max_life = self.level * 2, life_rating = 0, never_move = 1, @@ -114,13 +115,13 @@ newTalent{ -- Hard to kill with spells resists = {[DamageType.PHYSICAL] = -90, all = 90}, - talent_cd_reduction={[Talents.T_TAUNT]=4, }, + talent_cd_reduction={[Talents.T_TAUNT]=2, }, resolvers.talents{ [self.T_TAUNT]=self:getTalentLevelRaw(t), }, summoner = self, summoner_gain_exp=true, - summon_time = 7, + summon_time = 5, } m:resolve() m:resolve(nil, true) diff --git a/game/modules/tome/data/talents/gifts/summon-utility.lua b/game/modules/tome/data/talents/gifts/summon-utility.lua index 631bed3d42da2510e5879bd5c2f147fb6964ae91..5febbfdef38e9ce2bea62f8131d02a7cea9440ad 100644 --- a/game/modules/tome/data/talents/gifts/summon-utility.lua +++ b/game/modules/tome/data/talents/gifts/summon-utility.lua @@ -41,10 +41,7 @@ newTalent{ local tg = {type="ball", range=0, radius=self:getTalentRange(t), friendlyfire=false, talent=t} self:project(tg, self.x, self.y, function(tx, ty) local a = game.level.map(tx, ty, Map.ACTOR) - print("try taunt", a and a.name, a and self:reactionToward(a)) - game.level.map:particleEmitter(tx, ty, 1, "summon") if a and self:reactionToward(a) < 0 then - print("taunt", a.name) a:setTarget(self) end end)