These will all be untested and most likely edited by me later.
Shield Pummel:
Code: Select all
info = function(self, t)
return ([[Hits the target with two shield strikes, stunning it and doing %d%% shield damage.
The damage multiplier increases with your strength and the duration with talent level.]]):format(100 * self:combatTalentWeaponDamage(t, 1.2, 2.1, self:getTalentLevel(self.T_SHIELD_EXPERTISE)))
end,
Riposte:
Code: Select all
info = function(self, t)
return ([[When you block/avoid a melee blow you have a %d%% chance to get a free, automatic melee attack against your foe. Your chances increase with dexterity.]]):format(util.bound(self:getTalentLevel(t) * self:getDex(40), 10, 60))
end,
Overpower:
Code: Select all
info = function(self, t)
return ([[Hits the target with your weapon and two shield strikes doing %d%% damage, trying to overpower your target.
If the last attack hits, the target is knocked back. The chance for knock back increases with talent level.]]):format(100 * self:combatTalentWeaponDamage(t, 0.8, 1.3, self:getTalentLevel(self.T_SHIELD_EXPERTISE)))
end,
Repulsion:
Code: Select all
info = function(self, t)
return ([[Let all your foes pile up on your shield, then put all your strength in one mighty thrust and repel them all away %d grids. The distance increases with talent level.]]):format(math.floor(1 + self:getTalentLevel(t)))
end,
Shield Wall:
Code: Select all
info = function(self, t)
return ([[Enter a protective battle stance, increasing defense by %d and armor by %d at the cost of 10 attack and 10 damage. The defense and armor increase is based on dexterity.
At level 5 it also makes you immune to stunning and knockback.]]):format(
5 + (1 + self:getDex(4)) * self:getTalentLevel(t) + self:getTalentLevel(self.T_SHIELD_EXPERTISE),
5 + (1 + self:getDex(4)) * self:getTalentLevel(t) + self:getTalentLevel(self.T_SHIELD_EXPERTISE)
)
end,
Shield Expertise:
Code: Select all
info = function(self, t)
return ([[Increases your spell and physical save.]]):format()
end,
NOTE: I changed shield expertise that way because I see nothing in this code:
Code: Select all
newTalent{
name = "Shield Expertise",
type = {"technique/shield-defense", 3},
require = techs_req3,
mode = "passive",
points = 5,
on_learn = function(self, t)
self.combat_physresist = self.combat_physresist + 4
self.combat_spellresist = self.combat_spellresist + 2
end,
on_unlearn = function(self, t)
self.combat_physresist = self.combat_physresist + 4
self.combat_spellresist = self.combat_spellresist + 2
end,
info = function(self, t)
return ([[Improves your damage with shield attacks and increases your spell and physical save.]]):format()
end,
}
that effects the amount of damage that shields do. All I see is that shield expertise effects your physical and spell resist. It SHOULD increase damage dealt, but I have no idea how to code that. The description should also include the numbers by which shield expertise increases the resists/damage by, but I don't know how to code that properly. I thought I should bring that up.
Last Stand:
Code: Select all
info = function(self, t)
return ([[You brace yourself for the final stand, increasing defense by %d and maximum life by %d, but making you unable to move. The increase in defense and life is based on dexterity.]]):
format(5 + self:getDex(4) * self:getTalentLevel(t), 10 * self:getTalentLevel(t))
end,
That's all I have for now. Most of the changes are rather small, simply adding what stat they are effected by or adding what duration is effected by.