Предлагаю схему действия яда.
Яд наносит урон здоровью, но имеет ограниченный эффект.
Допустим, есть обычная муха. Одна порция её яда наносит 100 урона по 5 в секунду. Если муха укусила один раз, то весь урон будет нанесён за 20 секунд, после чего отравление пройдёт. В принципе на один укус противоядие можно и не тратить. Если муха укусила несколько раз, то уровень отравления суммируется, если ГГ был хорошо покусан мухами, то уровень отравления может быть 500, что для героя низкого левела уже много. Опять же можно запить зельями, и подождать, пока отравление не закончится, но лучше будет выпить противоядие, которое обнулит уровень отравления. У более крутых мобов и количество яда, и урон в секунду выше.
В скриптах это может выглядеть так:
Код:
S - уровень отравления
T - урон в секунду
Для мухи: dS=100, dT=5;
Укус мухи:
S+=dS;
if (T<dT) T=dT;
Каждую секунду:
if (T>0) {
Здоровье героя -=T;
S-=T;
if (S<=0) {
S=0, T=0;
}
}
Противоеядие:
S=0, T=0;
Все цифры примерные