public void EndTurn()
        {
            SortedDictionary <UInt32, Creature> menagerie = _currentMap.Menagerie;

            // end turn
            _scheduler.EndTurn();

            if (_myInterface.SelectedCreature != null)
            {
                _myInterface.SelectedCreature.MyMoveRangeCalculator.Update();
            }

            // this crap should be in the scheduler
            foreach (KeyValuePair <UInt32, Creature> kvp in menagerie)
            {
                //fix later
                Creature current = kvp.Value;
                current.SetStatBasic(Creature.StatBasic.AP, true, current.GetStatBasic(Creature.StatBasic.AP, false));
                current.MyMoveRangeCalculator.Update();
            }
            for (sbyte i = 0; i < _currentMap.TeamCount; ++i)
            {
                Team currentTeam = _currentMap.TeamRosterGetTeamFrom(i);
                if (currentTeam != _playerTeam)
                {
                    foreach (Creature c in currentTeam.Members)
                    {
                        c.CreatureBrain.Update();
                    }
                }
            }
        }