tu tem uma opção de fazer por script a redução do dano e dar return false, dai é cancelado o que seria feito pelas sources e vale apenas o que tu fez no script
sim no e posible, agora estoy mudando para reflection:
function onStatsChange(cid, attacker, type, combat, value)
if isPlayer(cid) and type == STATSCHANGE_HEALTHLOSS then
if isPlayer(attacker) or isMonster(attacker) then
if combat == COMBAT_ICEDAMAGE then
absorb = math.floor(value / 2)
doSendMagicEffect(getThingPosition(attacker), CONST_ME_ICEATTACK)
doCreatureAddHealth(attacker, -absorb)
doSendAnimatedText(getThingPosition(attacker), absorb, COLOR_TEAL)
end
if combat == COMBAT_EARTHDAMAGE then
absorb = math.floor(value / 2)
doSendMagicEffect(getThingPosition(attacker), CONST_ME_GREEN_RINGS)
doCreatureAddHealth(attacker, -absorb)
doSendAnimatedText(getThingPosition(attacker), absorb, COLOR_LIGHTGREEN)
end
end
return true
end
end
itemHEAD = getPlayerSlotItem(cid, CONST_SLOT_HEAD)
itemARMOR = getPlayerSlotItem(cid, CONST_SLOT_ARMOR)
itemLEGS = getPlayerSlotItem(cid, CONST_SLOT_LEGS)
itemFEET = getPlayerSlotItem(cid, CONST_SLOT_FEET)
itemLEFT = getPlayerSlotItem(cid, CONST_SLOT_LEFT)
itemRIGHT = getPlayerSlotItem(cid, CONST_SLOT_RIGHT)
getItemAttribute(itemHEAD.uid, "EnergyProtec")
getItemAttribute(itemHEAD.uid, "FireProtec")
getItemAttribute(itemHEAD.uid, "IceProtec")
getItemAttribute(itemHEAD.uid, "PhysicalProtec")
getItemAttribute(itemHEAD.uid, "DeathProtec")
getItemAttribute(itemHEAD.uid, "EarthProtec")
getItemAttribute(itemHEAD.uid, "HolyProtec")
estoy tentando fazer sume todos os attrubutes em todos los slots para sacar % do reflection by damage xD u can helpme?