Помогите с макросом на маусовер

Народ помогите с макросом
Вот сам макрос

#showtooltip
/startattack
/cast [nomod] [@mouseover,exists] Огненный шок
/cast [mod:shift] [@mouseover,exists] Ледяной шок

В чем проблема- огненный шок корректно используется и по таргету и по маусоверу, ледяной шок корректно используется по таргету, но при зажатом шифте кастует огенный шок, а должен ледяной, ну в теории, как я это видел.

Я так понимаю, необходимо сделать так, чтобы ледяной шок кастовался при зажатом шифте, а в остальных случаях - огненный шок? При этом приоритет в таргет, а не цель под мышью?
Вот так будет правильнее:

#showtooltip [mod:shift] Ледяной шок; [] Огненный шок
/startattack
/cast [mod:shift] [@mouseover,harm,mod:shift] Ледяной шок; [harm] [@mouseover,harm] Огненный шок

P.S.
Не раз уже советовал не использовать несколько команд cast.

Не работает маусовер в этом макросе.

Необходимо сделать на одну кнопку следующее- Ошок без шифта по таргету и по маусоверу, а с шифтом Лшок по таргету и маусоверу.
В моем варианте получается Ошок по таргету и маусоверу, а с шифтом Лшок только по таргету, как только я навожу мышь с зажатым шифтом именно на цель (не нажимая лкм, то есть маусовер да) и нажимаю скилл выпускается Ошок плюс меняется иконка на Ошок, а когда убираю мышь с цели и зажимаю шифт показывается иконка Лшока ну и соответственно в таргет летит Лшок.

Решение нашлось, теперь все корректно работает

#showtooltip [mod:shift] Ледяной шок; [] Огненный шок
/startattack
/cast [mod:shift,@mouseover,exists]Ледяной шок; [mod:shift,exists] Ледяной шок; [@mouseover,exists] Огненный шок; [exists] Огненный шок

Хорошо, что вопрос решен.
Пару слов про предложенный мною макрос.

Скорее всего, “не работает” наводка мышью тогда, когда есть выбранная цель. В изначально приведенном примере (макрос в первом сообщении топика) приоритет был именно по таргету. Я сохранил этот приоритет.
В последнем же вашем примере приоритет меняется - теперь в приоритете именно цель под мышью.
Просто надо было четче указать желаемое от макроса, тогда и правильное решение приходит быстрее.

И к слову, советую параметр exists поменять на harm (или nohelp). Так будет точнее работать. В логику работы этих параметров (harm и help) уже входит проверка exists. Т.е. если цели нет, то harm/help тоже выдают “ложь”.

P.S.
Тот же самый макрос, что и последний ваш (тот, что по вашим словам, работает как вам надо), но записанный короче:

#showtooltip [mod:shift] Ледяной шок; [] Огненный шок
/startattack
/cast [mod:shift,@mouseover,exists] [mod:shift,exists] Ледяной шок; [@mouseover,exists] [exists] Огненный шок