local config = {
staminaInterval = 6, -- minutes
soulInterval = 6,
addStamina = 1,
addSoul = 1,
}
staminaEvents = {}
soulEvents = {}
local function addStamina(cid)
local player = Player(cid)
if not player then
stopEvent(staminaEvents[cid])
staminaEvents[cid] = nil
return true
end
player:setStamina(player:getStamina() + config.addStamina)
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "[Trainer Recovery]: You received "..config.addStamina.." minutes of stamina.")
staminaEvents[cid] = addEvent(addStamina, config.staminaInterval * 60 * 1000, cid)
end
local function addSoul(cid)
local player = Player(cid)
if not player then
stopEvent(soulEvents[cid])
soulEvents[cid] = nil
return true
end
player:addSoul(config.addSoul)
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "[Trainer Recovery]: You received "..config.addSoul.." soul points.")
soulEvents[cid] = addEvent(addSoul, config.soulInterval * 60 * 1000, cid)
end
function onStepIn(creature)
if creature:isPlayer() then
creature:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "[Trainer Recovery]: You will receive "..config.addStamina.." minutes of stamina every "..config.staminaInterval.." minutes while you are in this room.")
creature:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "[Trainer Recovery]: You will receive "..config.addSoul.." soul points every "..config.soulInterval.." minutes while you are in this room.")
staminaEvents[creature:getId()] = addEvent(addStamina, config.staminaInterval * 60 * 1000, creature:getId())
soulEvents[creature:getId()] = addEvent(addSoul, config.soulInterval * 60 * 1000, creature:getId())
end
return true
end
function onStepOut(creature)
if creature:isPlayer() then
stopEvent(staminaEvents[creature:getId()])
staminaEvents[creature:getId()] = nil
stopEvent(soulEvents[creature:getId()])
soulEvents[creature:getId()] = nil
end
return true
end