Strange. I opened up the editor, and threw in the loop for the pet, and the error message went away, and even when I tried to recreate it by taking out the loop again, it didn't come back, meaning that I guess you were right @Bryukh , and that it had something to do with the lack of a loop in the pet script.
I'll tell you what I don't get, though. The error message ("Try
hero.pos instead") was always in the hero's script, and at random places. I remember it telling me to change the 'True' in
where True: to
hero.pos, along with an enemy variable in
hero.attack(enemy), and I know there were others. The error message did mention something about getting a null, but, unfortunately, I can't recall it precisely.
Hope that helps, and if you could explain to me what went wrong, I'd really appreciate it.