private void Stopped()
{
// waiting for another mega to move or give-up trying
//
// this mode will always be set up from a special script
// that will be one level higher than the script we
// would wish to restart from
Compact cpt = _skyCompact.FetchCpt(_compact.Core.waitingFor);
if (cpt != null)
if (cpt.Core.mood == 0 && Collide(cpt))
return;
// we are free, continue processing the script
// restart script one level below
SkyCompact.GetSub(_compact, _compact.Core.mode - 2).Field = 0;
_compact.Core.waitingFor = 0xffff;
_compact.Core.logic = L_SCRIPT;
LogicScript();
}