Я б на твоем месте сделал приемы такими и именно в таком порядке:
1) Если ХП > 70% юзать путь щита
if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) > 70)
_name = "ПУТЬ ЩИТА";
2) Если ХП < 15% юзать полную защиту
if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) < 15)
_name = "block_fullshield";
3) Если ХП < 70% и духа>0 то юзать глухую
if(((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) < 70) && (parseInt(top.Battle.oBattle.arrRes["spirit"].innerHTML) > 0))
_name = "ГЛУХАЯ";
4) Если блоков > 18 юзать полную защиту (при условии, что на глухую надо 15 блоков, я просто давно танком не играл).
if(parseInt(top.Battle.oBattle.arrRes["block"].innerHTML) > 18)
_name = "block_fullshield";
В результате бот вначале боя будет юзать путь щита пока еще много ХП, когда хп станет поменьше, он станет копить на глухую, но при этом, если он ее использовал, а тактик блока уже более чем достаточно на глухую, он будет юзать полную защиту. Ну и если ХП уже совсем мало, то нет смысла ждать глухую, нужно юзать то, что есть, т.е. полную.
Идентификаторы глухой и пути щита не помню, сам посмотришь и поменяешь в приемах. Процентные доли ХП для приемов приведены примерно, и не являются идеальными. Там уже сам посмотришь где добавить, где убавить 
Update: подправил 3е условие на грамматические ошибки
Отредактировано ZhEkA_BK (2010-07-30 19:23:20)
У меня все работает, что я делаю не так ?