Its better to put this all into interact() proc, and to call the interact in attack_hand()
Coz updateDialog works with interact(), while attack_hand() has all the checks in its generic proc (..()), so you can check ..() and than call interact