private void MisbehaveCheck() { if (myStats.timeUntilMisbehave <= 0f) { // stopping old behaviour if (myStats.myState != AstroStats.AIStates.Idle) { myStats.myBehaveStation.Leave(this); } // finding new behaviour myStats.myMisbehaveStation = AstroForeman.Single.AssignMisbehavior(myStats.myBehaveStation); myStats.myState = AstroStats.AIStates.MoveToMisbehaving; // new target for movement myBody.SetTarget(myStats.myMisbehaveStation.PositionAngle + Random.Range(-5, 5)); // the random float is added so that the astronauts form a group rather than a queue in front of the misbehave station // what do you think about that? myBody.ChangeThought(Thought.Mischief); // send a message about boredom // StationLogger.Alert(StationAlertType.Astronaut_Bored, Alert.SeverityLevel.Warning, this); // N: I commented out the message about boredom because it happens too often and takes away from the importance of warnings. } }