heres my take on it. Even though I just finished messing with it tonight. Using a "movePriority()" function that i've created to generate optimal pathing. This could probably be done simply by finding the difference between the move count between self pos and the exit path and and move count between fire start pos and the exit path. If its net positive return the count between self and exit + t else help...that all being said my heaviest function burn() is probably useless. It is funny watching my guy run from the fire tho...