Нажмите для увеличения

Учла все основные факторы, такие как голод, поломавшуюся снасть и тому подобное, но механика выуживания рыбы была очень деревянной (3 секунды зажимает кнопку "тянуть", затем передаёт управление в блок "логики" и, если не было обнаружено каких либо факторов, к примеру не увидел кнопки "отпустить" при поимке рыбы, то вновь зажимает кнопку "тянуть" и так по кругу) и, в связи с этим, я решила доработать эту часть бота, вдохновившись работой Владимира по написанию бота для русской рыбалки 3, взяв оттуда функцию "Лов" и подставив свои параметры.
Именно тут у меня всё пошло не так... Не получается реализовать корректную работу таймера совместно с заимствованной функцией выуживания рыбы "Лов".
Проблема заключается в том, что, при включении таймера (независимо от того, в какой именно момент он был включен) цикл обрывается, оставив зажатой кнопку "тянуть".
Нажмите для увеличения

Мне необходимо, чтобы во время работы цикла "loop()" в функции "fishing" происходил опрос экрана на наличие кнопки "Отпустить" (либо отсутствие надписи "см" на эхолоте) и в случае нахождения управление передавалось в функцию "dismiss", затем выключало таймер, а его включение происходило лишь в функции "fishing".