public void Initialize()
    {
        ZETBCFCSettings.Load();
        AutoUpdater.CheckUpdate(version);

        Log($"FC version {version}. Discovering class and finding rotation...");
        var type = Type.GetType(wowClass);

        wowVersion = Lua.LuaDoString <string>("v, b, d, t = GetBuildInfo(); return v");
        Log($"Wow version : {wowVersion}");

        if (type != null)
        {
            _isLaunched = true;

            // Fight end
            FightEvents.OnFightEnd += (ulong guid) =>
            {
                wManager.wManagerSetting.CurrentSetting.CalcuCombatRange = _saveCalcuCombatRangeSetting;
                HMPrunningAway = false;
            };

            // Fight start
            FightEvents.OnFightStart += (WoWUnit unit, CancelEventArgs cancelable) =>
            {
                wManager.wManagerSetting.CurrentSetting.CalcuCombatRange = false;
                HMPrunningAway = false;
            };

            // HMP run away handler
            robotManager.Events.LoggingEvents.OnAddLog += (Logging.Log log) =>
            {
                if (log.Text == "[HumanMasterPlugin] Starting to run away")
                {
                    Log("HMP's running away feature detected. Disabling FightClass");
                    HMPrunningAway = true;
                }
                else if (log.Text == "[HumanMasterPlugin] Stop fleeing, allow attacks again")
                {
                    Log("Reenabling FightClass");
                    HMPrunningAway = false;
                }
            };

            if (!Talents._isRunning)
            {
                _talentThread.DoWork += Talents.DoTalentPulse;
                _talentThread.RunWorkerAsync();
            }

            type.GetMethod("Initialize").Invoke(null, null);
        }
        else
        {
            LogError("Class not supported.");
            Products.ProductStop();
        }
    }
Example #2
0
 public static bool Load()
 {
     try
     {
         if (File.Exists(AdviserFilePathAndName("ZETBCFCSettings",
                                                ObjectManager.Me.Name + "." + Usefuls.RealmName)))
         {
             CurrentSetting = Load <ZETBCFCSettings>(
                 AdviserFilePathAndName("ZETBCFCSettings",
                                        ObjectManager.Me.Name + "." + Usefuls.RealmName));
             return(true);
         }
         CurrentSetting = new ZETBCFCSettings();
     }
     catch (Exception e)
     {
         Main.LogError("ZETBCFCSettings > Load(): " + e);
     }
     return(false);
 }
Example #3
0
    public void Initialize()
    {
        ZETBCFCSettings.Load();
        AutoUpdater.CheckUpdate(version);

        Log($"FC version {version}. Discovering class and finding rotation...");
        var type = Type.GetType(wowClass);

        if (type != null)
        {
            _isLaunched = true;

            // Fight end
            FightEvents.OnFightEnd += (ulong guid) =>
            {
                wManager.wManagerSetting.CurrentSetting.CalcuCombatRange = _saveCalcuCombatRangeSetting;
            };

            // Fight start
            FightEvents.OnFightStart += (WoWUnit unit, CancelEventArgs cancelable) =>
            {
                wManager.wManagerSetting.CurrentSetting.CalcuCombatRange = false;
            };

            if (!Talents._isRunning)
            {
                _talentThread.DoWork += Talents.DoTalentPulse;
                _talentThread.RunWorkerAsync();
            }

            type.GetMethod("Initialize").Invoke(null, null);
        }
        else
        {
            LogError("Class not supported.");
            Products.ProductStop();
        }
    }