Celem jej było określenie bazowych obrażeń (jeszcze przed ustaleniem miejsca trafienia)
w zależności od odległości między ofiarą a atakującym.
_dmgR(Float:fOdleglosc, Float:fDamage, Float:fMnoznik, Float:fProcent){
new Float:fMaxDmg = fDamage*fMnoznik;
new Float:fIle, Float:fIloraz;
fIloraz = fProcent/0x64;
fIle = fMaxDmg - fOdleglosc*fIloraz;
if(fIle > fMaxDmg) fIle = fMaxDmg;
return floatround(floatmax(fIle, fDamage*random_float(0.1, 0.25)));
}
Przykładowe zastosowanie
new iDmg = _dmgR(entity_range(iPlayer, iTarget), 55.0, 2.0, 30.0); //Maksymalny dmg = 110 (fDamage*fMnoznik), fProcent = 30, obrazenia zostana obnizone o 30% dystansu
W przypadku ujemnych obrażeń (osiągnięty maksymalny dystans) obrażenia będą równe 10~25% parametru fDamage