Code: Select all
newDamageType{
name = "brain storm", type = "BRAINSTORM",
projector = function(src, x, y, type, dam, state)
state = initState(state)
useImplicitCrit(src, state)
local target = game.level.map(x, y, Map.ACTOR)
if target then
DamageType:get(DamageType.LIGHTNING).projector(src, target.x, target.y, DamageType.LIGHTNING, dam, state)
if target:checkHit(src:combatMindpower(), target:combatMentalResist(), 0, 95, 15) then
target:crossTierEffect(target.EFF_BRAINLOCKED, src:combatMindpower())
else
game.logSeen(target, "%s resists the mind attack!", target.name:capitalize())
end
if src:hasEffect(src.EFF_TRANSCENDENT_TELEKINESIS) then
if target:canBe("blind") then
target:setEffect(target.EFF_BLINDED, 4, {apply_power=src:combatMindpower()})
end
end
return dam
end
end,
}