/* Script generated by Pawn Studio */
#include <amxmodx>
#include <amxmisc>
#include <diablo_nowe.inc> /*Plik z ktorego sa wczytywane natywy i forwardy*/
#define PLUGIN "Poradnik"
#define AUTHOR "Onyke"
#define VERSION "1.0"
new bool:bKlasa[33]
public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    diablo_register_class("Nazwa klasy",120,"Opis",FLAG_ALL, "Frakcja")
    /*
    * Nazwa klasy - tutaj podajemy nazwe klasy
    * 120 - Ilosc bazowego HP
    * Opis - Tutaj podajemy opis klasy, jesli nie chcesz miec opisu to zostawiasz puste cudzyslowia
    * FLAG_ALL - Tutaj mozemy ustawic klase zeby byla premium. np ADMIN_LEVEL_H, jesli chcesz zeby klasa byla dostepna dla kazdego to zostawiasz FLAG_ALL
    * Frakcja - Do jakiej frakcji ma nalezec klasa
    *
    * Jesli chcesz zrobic klase np bez opisu, frakcji oraz nie ma byc ona premium to mozesz dodac krotsza linijke, ktora wyglada tak:
    * diablo_register_class("Nazwa Klasy",HP)
    * Jesli chcesz zrobic klase bez opisu, premium i bez frakcji to linijka ma wygladac np tak:
    * diablo_register_class("Nazwa Klasy",HP,"",ADMIN_LEVEL_H)
    */
}
public diablo_class_enabled(id){
    /* Wykonuje sie po wybraniu klasy.
    * Tutaj ustawiamy rozne zmienne oraz obowiazkowo ustawiamy bKlasa na true */
    bKlasa[id] = true;
}
public diablo_class_disabled(id){
    /* Wykonuje sie po zmienieniu klasy oraz rozlaczeniu z serwerem
    * Tutaj zerujemy rozne zmienne oraz obowiazkowo ustawiamy bKlasa na false */
    bKlasa[id] = false;
}
public diablo_clean_data(id){
    /*Czyszczenie wewnetrznych zmiennych klasy
    * Wykonuje sie przy starcie rundy, rozlaczeniu z serwerem, smierci oraz przy zmienieniu klasy*/
    diablo_reset_grav(id) /*Resetujemy grawitacje*/
    diablo_render_cancel(id) /*Resetujemy render. Mozemy tez zrobic to tak:
    * diablo_set_user_render(id,.render = kRenderTransAlpha,.amount = 255)
    * Czyli ustawic na standardowa wartosc 255*/
    diablo_reset_speed(id) /*Resetujemy predkosc*/
}
public diablo_set_data(id){
    /*Ustawianie wewnetrznych zmiennych klasy
    * Wykonuje sie po wybraniu klasy oraz przy spawnie*/
    diablo_set_user_grav(id,0.60); /*Ustawiamy grawitacje. 0.60 wynosi 480 poniewaz 60 procent z 800 (standardowa grawitacja) to wlasnie 480*/
    diablo_set_user_render(id,.render = kRenderTransAlpha,.amount = 31) /*Ustawiamy render na 31*/
    diablo_add_speed(id,24.00) /*Dodajemy 24 PKT Speeda*/
}
public diablo_death(iKiller,killerClass,iVictim,victimClass){
    /*Wykonuje sie co kazde zabojstwo
    * iKiller - ID zabojcty
    * killerClass - Klasa zabojcy[*]
    * iVictim - ID ofiary
    * victimClass - Klasa ofiary[*]
    * [*] - 0 to brak klasy, oraz o ile dobrze zauwazylem to klasa pierwsza w plugins-diablomod.ini bedzie miala 1, druga 2 itp
    * */
    if(get_user_team(iVictim) != get_user_team(iKiller)){ /*Sprawdzenie czy ofiara i zabojca sa w innych druzynach*/
        if(bKlasa[iKiller]){ /*Sprawdzenie czy mamy klase*/
            diablo_add_hp(iKiller,10) /*Odnowienie 10 HP*/
        }
    }
}
public diablo_damage_class_do(iVictim,iAttacker,&Float:fDamage){
    /*Wykonuje sie gdy ZADAJEMY obrazenia
    * iVictim - ID ofiary
    * iAttacker - ID atakujacego (nasze)
    * &Float:fDamage - obrazenia
    * */
    if(get_user_team(iVictim) != get_user_team(iAttacker)){ /*Sprawdzenie czy ofiara i atakujacy sa w innych druzynach*/
        fDamage += 10.0 /*Zadajemy dodatkowe 10 DMG*/
    }
}
public diablo_damage_class_taken(iVictim,iAttacker,&Float:fDamage){
    /*Wykonuje sie gdy OTRZYMUJEMY obrazenia
    * iVictim - ID ofiary (nasze)
    * iAttacker - ID atakujacego
    * &Float:fDamage - obrazenia
    * */
    if(get_user_team(iVictim) != get_user_team(iAttacker)){/*Sprawdzenie czy ofiara i atakujacy sa w innych druzynach*/
        fDamage -= 10.0 /*Redukujemy 10 DMG (otrzymujemy obrazenia o 10 mniejsze)*/
    }
}
public Float:diablo_cast_time(id,Float:standardTime){
    /*Tutaj ustawiamy czas ladowania na nozu
    * standardTime jest to podstawowy czas ladowania na nozu ktory standardowo wynosi: 5.0-(float(getUserInt( id ))/30.0)*/
    return standardTime * 2.0;
    /*W tym przypadku czas ladowania bedzie 2x wiekszy niz standardowy. Mozemy tez ustawic konkretny czas ladowania robiac tak:
    * return 3.0
    * Wtedy czas ladowania bedzie wynosil 3 sekundy*/
}
public diablo_call_cast(id){
    /*Wykona sie po zaladowaniu przez nas noza. Tutaj dajemy bonusy za zaladowanie*/
    diablo_add_hp( id , 100 ); /*Odnowienie 100 HP*/
    show_hudmessage(id, "Zregenerowales sobie 100 HP") /*Informacja w HUD*/
}