Собственно Exile правильно указал строку external.inBattle и даже то, на что её надо заменить.
Точнее строку указал uniken1, а Exile на что заменить 
Экстернал банально не успевал изменить значение, т.к. он привязан к действию бота по времени.
Данную строку заменил в первом посте и теперь там самый рабочий вариант.
Exile, по поводу твоей версии плагина:
+ Сократил код с 3-х строк до одной при добавлении в массив элексиров на выпивание
morkovkaName[morkovkaName.length] = new Array ("Флакончик маны",3);
Безусловно это красивее выглядит, но я оставил 3 строки, чтобы сохранить комментарий о том, что в этой строке именно название эликсира, а в этой имено номер раздела.
- Ситуация: у тебя разница в 500 ХП. У тебя по условию добавляется в массив, допустим, на 500ХП, на 200ХП, на 150ХП абстрактные морковки. И он выпъет их всех, т.е. на 850ХП.
Причина: нету стопора после первого выпитого (раньше стопором работала переменная healed, сейчас я сделал по-другому).
- Если вдруг пропустил слабость/дрожь и они уже висят - он не снимит их.
- Нарушение в логике работы с temp_inf в Morkovka2Handler. Ты обнуляешь temp_inf всегда, но вставляешь новое значение только если не в инвентаре... что-то тут явно не то
+- Алерт(ерр.дескриптион) лучше убирать 
+- относительно моей версии: у меня меньше запросов на поиск морковок, если подряд забивались в массив морковки из одного раздела инвентаря, т.к. сохраняется полученная о разделе информация. Если они вразнобой - то от моего алгоритма толка мало 