turns out IOResult is actually IOResult() - a function that clears its result after each call
oops, fix logging. had = instead of <> in an error check
fix for
issue #840: Basic Training - Grenade is failing to dismiss team
expose FlightTime to lua, disable in-air flame harming moving hogs ☹ aaaand override that in ClimbHome ☺