function CPlayer:rest() -- rest to restore mana and healthpoint if under a certain level if( self.Battling == true) then return; end; -- if aggro, go back if( settings.profile.options.MP_REST == nil ) then settings.profile.options.MP_REST = 15; end; if( settings.profile.options.HP_REST == nil ) then settings.profile.options.HP_REST = 15; end; -- some classes dont have mana, in that cases Player.mana = 0 hf_mana_rest = (player.MaxMana * settings.profile.options.MP_REST / 100); -- rest if mana is lower then hf_hp_rest = (player.MaxHP * settings.profile.options.HP_REST / 100); -- rest if HP is lower then if( player.Mana >= hf_mana_rest and player.HP >= hf_hp_rest ) then -- nothing to do return; -- go back end; self:clearTarget(); -- get rid of mob, so we dont cast while resting hf_count = 30 + math.random( 69 ); -- set rest time, up to 99 sec pause cprintf(cli.green, "resting %s sec for full mana and full HP\n", hf_count); -- resting x sec for Mana and HP while hf_count > 0 do yrest(1000); hf_count = hf_count - 1; self:update(); if( self.Battling ) then -- we get aggro, self:clearTarget(); -- get rid of mob to be able to target attackers printf("get aggro at sec %s\n", hf_count ); -- get aggro at sec x hf_count = 0; -- stop countdown end; if( player.Mana == player.MaxMana and -- some chars have MaxMana = 0 player.HP == player.MaxHP ) then -- Mana and HP are full printf("full at sec %s\n", hf_count ); -- full at sec x hf_count = 0; -- stop countdown end; self:checkPotions(); self:checkSkills(); -- check if we need to cast buffs/heals. end; -- end of while end