GamblingCharacterSwitchBehavior() public static method

public static GamblingCharacterSwitchBehavior ( ) : RunStatus
return RunStatus
Exemplo n.º 1
0
        public static RunStatus OutOfGameBehavior(object ret)
        {
            if (CharacterControl.GamblingCharacterSwitch)
            {
                return(CharacterControl.GamblingCharacterSwitchBehavior());
            }


            if (MuleBehavior)
            {
                if (!InitMuleBehavior)
                {
                    Finished                 = false;
                    InitMuleBehavior         = true;
                    NewMuleGame.BotHeroName  = ZetaDia.Service.Hero.Name;
                    NewMuleGame.BotHeroIndex = 0;
                    NewMuleGame.LastProfile  = ProfileManager.CurrentProfile.Path;
                    NewMuleGame.LastHandicap = CharacterSettings.Instance.MonsterPowerLevel;
                }

                if (!CreatedCharacter)
                {
                    RunStatus NewHeroStatus = CreateNewHero();

                    if (NewHeroStatus == RunStatus.Success)
                    {
                        CreatedCharacter = true;
                        //Setup Settings
                        //Bot.Character.Account.UpdateCurrentAccountDetails();
                        Settings.PluginSettings.LoadSettings();
                    }
                    return(RunStatus.Running);
                }

                if (!RanProfile)
                {
                    RunStatus NewGameStatus = NewMuleGame.BeginNewGameProfile();
                    if (NewGameStatus == RunStatus.Success)
                    {
                        RanProfile = true;
                        return(RunStatus.Success);
                    }
                    return(RunStatus.Running);
                }

                RunStatus FinishStatus = NewMuleGame.FinishMuleBehavior();
                if (FinishStatus == RunStatus.Success)
                {
                    Finished         = true;
                    RanProfile       = false;
                    CreatedCharacter = false;
                    InitMuleBehavior = false;
                    MuleBehavior     = false;
                    //Load Settings
                    //Bot.Character.Account.UpdateCurrentAccountDetails();
                    Settings.PluginSettings.LoadSettings();

                    return(RunStatus.Success);
                }
                return(RunStatus.Running);
            }


            if (ExitGameBehavior.BehaviorEngaged)
            {
                //Get First or Last Used Profile..
                TrackedProfile firstProfile = FunkyGame.CurrentStats.GetFirstProfile();

                string profile = firstProfile != null ? firstProfile.ProfileName :
                                 GlobalSettings.Instance.LastProfile;

                //Load Profile and Fire our left game handler
                ProfileManager.Load(profile);
                //EventHandlers.FunkyOnLeaveGame(null, null);

                //Finally disable this..
                ExitGameBehavior.BehaviorEngaged = false;
                ExitGameBehavior.ShouldExitGame  = false;
            }

            //Custom Hero Setting Game Difficulty
            if (!CharacterControl.GameDifficultyChanged)
            {
                CharacterControl.GameDifficultyChanged = true;
                var customdifficulty = (GameDifficulty)Enum.Parse(typeof(GameDifficulty), FunkyBaseExtension.Settings.General.CustomDifficulty);
                CharacterSettings.Instance.GameDifficulty = customdifficulty;
            }

            return(RunStatus.Success);
        }