/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fakemeta>
#include <engine>
#include <codmod>

#define PLUGIN "Woda Half Life"
#define VERSION "1.0"
#define AUTHOR "Lelek & d0n tHe Pr0oo"

#define DODATKOWE_HP 20 //Ile hp dostajemy po kucnieciu w wodzie ?
#define HP_CZAS 2.0 //Co ile sec dostajemy hp, kiedy kucamy w wodzie ?

new ma_perk[33];

new const nazwa[] = "Deska ratunku";
new const opis[] = "Kucajac w wodzie dostajemy 20hp/2sek.";

public plugin_init()
{
        register_plugin(PLUGIN, VERSION, AUTHOR);
        cod_register_perk(nazwa, opis);

        register_forward(FM_PlayerPreThink, "PreThink");

}

public cod_perk_enabled(id)
        ma_perk[id] = true;

public cod_perk_disabled(id)
        ma_perk[id] = false;

public PreThink(id)
{
        if(get_user_button(id) & IN_DUCK && !(get_user_oldbutton(id) & IN_DUCK))
        {
                if(pev(id,pev_watertype) == CONTENTS_WATER && (pev(id,pev_flags) & FL_ONGROUND) && ma_perk[id])
                {
                        regeneruj(id);
                }
        }
        else if(!(get_user_button(id) & IN_DUCK) && get_user_oldbutton(id) & IN_DUCK)
        {
                remove_task(id);
        }
}

public regeneruj(id)
{
        if(is_user_alive(id))
        {
                if(get_user_health(id) < cod_get_user_health(id, 0, 0)+100)
                {
                        set_task(HP_CZAS, "dodaj", id,_,_, "b")
                }
        }
}

public dodaj(id)
{
        new hp = get_user_health(id);
        if(hp < cod_get_user_health(id, 0, 0)+100)
        {
                fm_set_user_health(id, hp+DODATKOWE_HP)
        }
}


stock fm_set_user_health(id, health)
{
        (health > 0) ? set_pev(id, pev_health, float(health)) : dllfunc(DLLFunc_ClientKill, id);
}
