I've been working on Bug #3349. This bug consists of a few parts.
- AI packages don't repeat (except for AIWander).
- AIWander and AIFollow packages don't end when their duration is up.
I've managed to fix these on my own build. The only part of the bug report I haven't been able to fix is that AIFollow doesn't terminate when you arrive at the target destination when it's in an interior. It looks like fill() in aisequence.cpp will not send the CellID to the AIFollow constructor, but fixing this might mean (not sure yet) modifying esm/components files, which I am not comfortable doing right now, so I'm putting this part of the issue aside.
Is it OK for me to send in what I have on GitHub? I'm a very inexperienced programmer, so my work might have problems in it. I've tried to keep to the OpenMW policies and test everything. I haven't posted on the "New Developers Applications" board and I don't feel like I'm qualified to apply as a "developer," anyway.
Also, in aiwander.cpp is
Resetting mStartTime here causes AIWander packages to never end in OpenMW unless you use the T key to fastforward. The packages do end in the original game, so I want to remove this line as I don't see that it does anything besides mess up AIWander, but is there a reason why it should stay?// Recreate vanilla (broken?) behavior of resetting start time of AIWander:
mStartTime = MWBase::Environment::get().getWorld()->getTimeStamp();