diff --git a/game/modules/tome/data/talents/spells/staff-combat.lua b/game/modules/tome/data/talents/spells/staff-combat.lua index 507e56320fa751a9b06921eb6f3616cf88519ceb..b7cbd81007ee293cf53bf07ca67503ef67a20d6f 100644 --- a/game/modules/tome/data/talents/spells/staff-combat.lua +++ b/game/modules/tome/data/talents/spells/staff-combat.lua @@ -107,7 +107,7 @@ newTalent{ require = spells_req3, mode = "sustained", points = 5, - sustain_mana = 80, + sustain_mana = 20, cooldown = 30, tactical = { BUFF = 2 }, getDefense = function(self, t) return self:combatTalentSpellDamage(t, 10, 20) end, @@ -121,19 +121,19 @@ newTalent{ local power = t.getDefense(self, t) game:playSoundNear(self, "talents/arcane") return { - dam = self:addTemporaryValue("combat_dam", -power / 2), + arm = self:addTemporaryValue("combat_armor", power), def = self:addTemporaryValue("combat_def", power), } end, deactivate = function(self, t, p) - self:removeTemporaryValue("combat_dam", p.dam) + self:removeTemporaryValue("combat_armor", p.arm) self:removeTemporaryValue("combat_def", p.def) return true end, info = function(self, t) local defense = t.getDefense(self, t) - return ([[Adopt a defensive posture, reducing your staff attack power by %d and increasing your defense by %d.]]): - format(defense / 2, defense) + return ([[Adopt a defensive posture, increasing your defense and armour by %d.]]): + format(defense) end, } @@ -143,7 +143,7 @@ newTalent{ require = spells_req4, points = 5, mana = 12, - cooldown = 6, + cooldown = 12, tactical = { ATTACK = 1, DISABLE = 2, ESCAPE = 1 }, range = 1, requires_target = true, @@ -151,7 +151,7 @@ newTalent{ return {type="hit", range=self:getTalentRange(t)} end, getDamage = function(self, t) return self:combatTalentWeaponDamage(t, 1, 1.5) end, - getDazeDuration = function(self, t) return 4 + self:getTalentLevel(t) end, + getDazeDuration = function(self, t) return 1 + self:getTalentLevel(t) end, action = function(self, t) local weapon = self:hasStaffWeapon() if not weapon then @@ -163,14 +163,16 @@ newTalent{ local x, y, target = self:getTarget(tg) if not x or not y or not target then return nil end if core.fov.distance(self.x, self.y, x, y) > 1 then return nil end + if self:getTalentLevel(t) >= 5 then self.combat_atk = self.combat_atk + 1000 end local speed, hit = self:attackTargetWith(target, weapon.combat, nil, t.getDamage(self, t)) - + if self:getTalentLevel(t) >= 5 then self.combat_atk = self.combat_atk - 1000 end + -- Try to stun ! if hit then if target:canBe("stun") then - target:setEffect(target.EFF_DAZED, t.getDazeDuration(self, t), {apply_power=self:combatPhysicalpower()}) + target:setEffect(target.EFF_STUNNED, t.getDazeDuration(self, t), {apply_power=self:combatSpellpower()}) else - game.logSeen(target, "%s resists the dazing blow!", target.name:capitalize()) + game.logSeen(target, "%s resists the stunning blow!", target.name:capitalize()) end end @@ -179,8 +181,9 @@ newTalent{ info = function(self, t) local damage = t.getDamage(self, t) local dazedur = t.getDazeDuration(self, t) - return ([[Hit a target for %d%% melee damage and daze it for %d turns. - Daze chance will improve with talent level.]]): + return ([[Hit a target for %d%% melee damage and stun it for %d turns. + Stun chance will improve with talent level. + At level 5 this attack can not miss.]]): format(100 * damage, dazedur) end, }