@Maniaco, testa ai, fiz umas alterações no script do @FeeTads:
local percent = 30 --- Chance de Aplicar Condition
local exhaustStorage = 2353255 -- use a mesma em todos os scripts para não ter conditions do mesmo estilo aplicando ao mesmo tempo ou use diferentes storages em cada script para permitir várias conditions diferentes no mesmo target, e cuidado para n usar em outros sistemas para n causar interferência.
local ticks = 20 -- quantidade de vezes que vai aplicar a condition
local ticksDelay = 1000 -- tempo entre os ticks em milissegundos
local minDmg, maxDmg = 5000, 10000
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)
local function apply_condition(target, count)
if isCreature(target) then --caso o target morra, acaba o condition
local dano = math.ceil(math.random(minDmg, maxDmg))
doCreatureAddHealth(target, -dano)
doSendAnimatedText(getCreaturePos(target), "-"..dano, 180)
if count > 0 then
count = count - 1
addEvent(apply_condition, ticksDelay, target, count)
end
end
return true
end
function onUseWeapon(cid, var)
local target = getCreatureTarget(cid)
if isCreature(target) and getCreatureStorage(target, exhaustStorage) - os.time() < 1 then
local position1 = getThingPosition(target)
if percent >= math.random(1, 100) then
doSendMagicEffect(position1, 5)
doCreatureSetStorage(target, exhaustStorage, os.time() + ticks)
apply_condition(target, ticks)
end
end
return doCombat(cid, combat, var)
end