All right, so I think I've gotten something that should work:
Code:
Running is an action applying to one visible thing with past participle "ran". Understand "run" and "run [direction]" as running.
Carry out an actor running (this is the redirect running to going rule):
unless the actor is in an enterable vehicle:
now the going-redirect is true;
now the redirect-speed is 45; [[ Not the only method; can't just check for 0 ]]
try the actor going.
Unfortunately, Inform seems to have found that running will always redirect to going, and has simplified that by automatically understanding the former as the latter. This has the slight problem of not running the rest of the code; even if I put in a "say 'Running';" at the beginning of the rule, nothing happens. Is there any way to postpone the shift so I can set the variables before the going action is triggered?
Also, while I was testing my time advancement rules, I found that failed actions take the normal seconds_per_turn. Is there any way to check if an action was stopped (e.g. ">take east") to set a "take no time;"?