Of course, there's no reason, strictly speaking, that Mighty Power couldn't set your Weapon Mastery to 5. It's reasonably thematic.
That way, you can't possibly lose anything if you were in a full Dagger build, and a full onehanded weapon build still breaks even. It only "penalizes" builds that partially/fully build knives as a support to onehander/dagger dualwield builds-and any build that does that is still going to want the skill, as it benefits them the most(since any build that's doing that is heavily building Strength, and dualwielding onehanders is going to give optimal benefit to that.).
Edit: Tweaked my suggestions based on other suggestions, also clarified Sonic Gale a bit better(you can tell that particular skill was sort of stream of thought) and retooled Superpower(Sober thought made me realize that, not only is the Mindsave a bad idea just for Solipsists in general, but the Mindpower bonus was way too high-a Berserker can get 90+ rescaled physical power and a Wyrmic isn't too far behind. I'm not sure handing out nearly 100 Mindpower to any class is good. 20% is much more reasonable, though it still might be a little high...).
Edit 2:
Code: Select all
uberTalent{
name = "Magic Fist",
mode = "activated",
message = "@Source@ casts Fist!",
require = { },
cooldown = 25,
radius = 5,
range = 1,
tactical = { ATTACK = { PHYSICAL=2 }, DISABLE = { daze = 2 } },
target = function(self, t)
return {type="ball", range=self:getTalentRange(t), selffire=false, radius=self:getTalentRadius(t), talent=t} end,
getDamage = function(self, t) return 10 + self:getMag() * 3 end,
action = function(self, t)
local tg = self:getTalentTarget(t)
local grids = self:project(tg, self.x, self.y, DamageType.ARCANE, self:spellCrit(t.getDamage(self, t)))
game.level.map:particleEmitter(self.x, self.y, tg.radius, "ball_fire", {radius=tg.radius, grids=grids, tx=x, ty=y, max_alpha=80})
game:playSoundNear(self, "talents/flame")
local tg = self:getTalentTarget(t)
self:project(tg, self.x, self.y, function(px, py, tg, self)
local target = game.level.map(px, py, Map.ACTOR)
if target and target ~= self then
self.combat_atk = self.combat_atk + 1000
local hit = self:attackTarget(target, nil, 4, true, true)
self.combat_atk = self.combat_atk - 1000
if hit and target:canBe("stun") then
target:setEffect(target.EFF_DAZED, 5, {})
end
end
end)
return true
end,
info = function(self, t)
return ([[You draw incredible arcane force into your hand, and release it upon your enemies, punching them into oblivion. The resulting explosion deals 400%% normal unarmed damage, and an additional %0.2f Arcane damage, in a radius 5 explosion around you. Enemies caught in this explosion will also be dazed for five turns. This attack cannot miss. The Arcane damage will increase with your Magic stat.]])
:format(damDesc(self, DamageType.ARCANE, 10 + self:getMag() * 3))
end,
}