local config = {
outfitId = 264,
regenerationHP = 1000,
regenerationMP = 1000,
regenerationInterval = 3000,
skillDistance = 5,
skillSword = 5,
skillAxe = 5,
skillClub = 5,
magicLevel = 5
}
function addPlayerOutfitXXXBonus(player)
if not player:hasOutfit(config.outfitId) then return true end
if player:getOutfit().lookType ~= config.outfitId then return true end
local conditionRegen = Condition(CONDITION_REGENERATION, CONDITIONID_DEFAULT)
conditionRegen:setParameter(CONDITION_PARAM_SUBID, 100)
conditionRegen:setParameter(CONDITION_PARAM_TICKS, -1)
conditionRegen:setParameter(CONDITION_PARAM_HEALTHGAIN, config.regenerationHP)
conditionRegen:setParameter(CONDITION_PARAM_HEALTHTICKS, config.regenerationInterval)
conditionRegen:setParameter(CONDITION_PARAM_MANAGAIN, config.regenerationMP)
conditionRegen:setParameter(CONDITION_PARAM_MANATICKS, config.regenerationInterval)
player:addCondition(conditionRegen)
local conditionSkills = Condition(CONDITION_ATTRIBUTES, CONDITIONID_DEFAULT)
conditionRegen:setParameter(CONDITION_PARAM_SUBID, 101)
conditionSkills:setParameter(CONDITION_PARAM_TICKS, -1)
conditionSkills:setParameter(CONDITION_PARAM_SKILL_DISTANCE, config.skillDistance)
conditionSkills:setParameter(CONDITION_PARAM_SKILL_SWORD, config.skillSword)
conditionSkills:setParameter(CONDITION_PARAM_SKILL_AXE, config.skillAxe)
conditionSkills:setParameter(CONDITION_PARAM_SKILL_CLUB, config.skillClub)
conditionSkills:setParameter(CONDITION_PARAM_STAT_MAGICPOINTS, config.magicLevel)
player:addCondition(conditionSkills)
end
local getBonus = CreatureEvent("GetBonus")
function getBonus.onLogin(player)
addPlayerOutfitXXXBonus(player)
return true
end
getBonus:register()
local event = EventCallback
function event.onChangeOutfit(creature, outfit)
if creature:isPlayer() then
if outfit.lookType == config.outfitId then
addPlayerOutfitXXXBonus(creature)
elseif creature:getOutfit().lookType ~= outfit.lookType then
creature:removeCondition(CONDITION_REGENERATION, CONDITIONID_DEFAULT, 100, true)
creature:removeCondition(CONDITION_ATTRIBUTES, CONDITIONID_DEFAULT, 101, true)
end
end
return true
end
event:register()