/// <summary>
        /// 監視対象か?
        /// </summary>
        /// <param name="targetInfo">監視候補の情報</param>
        /// <param name="playerInfo">プレイヤの情報</param>
        /// <param name="targetParameter">対象とするParameter</param>
        /// <returns>監視対象か?</returns>
        private bool IsWatchTarget(
            Combatant targetInfo,
            Combatant playerInfo,
            string targetParameter)
        {
            var r = false;

            var watchTarget = default(WatchTargets);
            switch (targetParameter.ToUpper())
            {
                case "HP": watchTarget = TTSYukkuriConfig.Default.OptionSettings.WatchTargetsHP; break;
                case "MP": watchTarget = TTSYukkuriConfig.Default.OptionSettings.WatchTargetsMP; break;
                case "TP": watchTarget = TTSYukkuriConfig.Default.OptionSettings.WatchTargetsTP; break;
                default:
                    return r;
            }

            switch (targetInfo.Job)
            {
                case 0: r = false; break;
                case 1: r = watchTarget.EnabledKnight; break;
                case 2: r = watchTarget.EnabledMonk; break;
                case 3: r = watchTarget.EnabledSenshi; break;
                case 4: r = watchTarget.EnabledRyukishi; break;
                case 5: r = watchTarget.EnabledGinyushijin; break;
                case 6: r = watchTarget.EnabledShiromadoshi; break;
                case 7: r = watchTarget.EnabledKuromadoshi; break;

                case 8: r = watchTarget.EnabledGathererAndCrafter; break;
                case 9: r = watchTarget.EnabledGathererAndCrafter; break;
                case 10: r = watchTarget.EnabledGathererAndCrafter; break;
                case 11: r = watchTarget.EnabledGathererAndCrafter; break;
                case 12: r = watchTarget.EnabledGathererAndCrafter; break;
                case 13: r = watchTarget.EnabledGathererAndCrafter; break;
                case 14: r = watchTarget.EnabledGathererAndCrafter; break;
                case 15: r = watchTarget.EnabledGathererAndCrafter; break;
                case 16: r = watchTarget.EnabledGathererAndCrafter; break;
                case 17: r = watchTarget.EnabledGathererAndCrafter; break;
                case 18: r = watchTarget.EnabledGathererAndCrafter; break;

                case 19: r = watchTarget.EnabledKnight; break;
                case 20: r = watchTarget.EnabledMonk; break;
                case 21: r = watchTarget.EnabledSenshi; break;
                case 22: r = watchTarget.EnabledRyukishi; break;
                case 23: r = watchTarget.EnabledGinyushijin; break;
                case 24: r = watchTarget.EnabledShiromadoshi; break;
                case 25: r = watchTarget.EnabledKuromadoshi; break;
                case 26: r = watchTarget.EnabledShokanshi; break;
                case 27: r = watchTarget.EnabledShokanshi; break;
                case 28: r = watchTarget.EnabledGakusha; break;
                case 29: r = watchTarget.EnabledNinja; break;
                case 30: r = watchTarget.EnabledNinja; break;

                case 31: r = watchTarget.EnabledMachinist; break;
                case 32: r = watchTarget.EnabledDarkKnight; break;
                case 33: r = watchTarget.EnabledAstrologian; break;

                default: r = false; break;
            }

            // 自分自身か?
            if (targetInfo.ID == playerInfo.ID)
            {
                r = watchTarget.EnabledSelf;
            }

            return r;
        }
예제 #2
0
        /// <summary>
        /// 監視対象か?
        /// </summary>
        /// <param name="targetInfo">監視候補の情報</param>
        /// <param name="playerInfo">プレイヤの情報</param>
        /// <param name="targetParameter">対象とするParameter</param>
        /// <returns>監視対象か?</returns>
        private bool IsWatchTarget(
            Combatant targetInfo,
            Combatant playerInfo,
            string targetParameter)
        {
            var r = false;

            var watchTarget = default(WatchTargets);

            switch (targetParameter.ToUpper())
            {
            case "HP": watchTarget = TTSYukkuriConfig.Default.OptionSettings.WatchTargetsHP; break;

            case "MP": watchTarget = TTSYukkuriConfig.Default.OptionSettings.WatchTargetsMP; break;

            case "TP": watchTarget = TTSYukkuriConfig.Default.OptionSettings.WatchTargetsTP; break;

            default:
                return(r);
            }

            switch (targetInfo.Job)
            {
            case 0: r = false; break;

            case 1: r = watchTarget.EnabledKnight; break;

            case 2: r = watchTarget.EnabledMonk; break;

            case 3: r = watchTarget.EnabledSenshi; break;

            case 4: r = watchTarget.EnabledRyukishi; break;

            case 5: r = watchTarget.EnabledGinyushijin; break;

            case 6: r = watchTarget.EnabledShiromadoshi; break;

            case 7: r = watchTarget.EnabledKuromadoshi; break;

            case 8: r = watchTarget.EnabledGathererAndCrafter; break;

            case 9: r = watchTarget.EnabledGathererAndCrafter; break;

            case 10: r = watchTarget.EnabledGathererAndCrafter; break;

            case 11: r = watchTarget.EnabledGathererAndCrafter; break;

            case 12: r = watchTarget.EnabledGathererAndCrafter; break;

            case 13: r = watchTarget.EnabledGathererAndCrafter; break;

            case 14: r = watchTarget.EnabledGathererAndCrafter; break;

            case 15: r = watchTarget.EnabledGathererAndCrafter; break;

            case 16: r = watchTarget.EnabledGathererAndCrafter; break;

            case 17: r = watchTarget.EnabledGathererAndCrafter; break;

            case 18: r = watchTarget.EnabledGathererAndCrafter; break;

            case 19: r = watchTarget.EnabledKnight; break;

            case 20: r = watchTarget.EnabledMonk; break;

            case 21: r = watchTarget.EnabledSenshi; break;

            case 22: r = watchTarget.EnabledRyukishi; break;

            case 23: r = watchTarget.EnabledGinyushijin; break;

            case 24: r = watchTarget.EnabledShiromadoshi; break;

            case 25: r = watchTarget.EnabledKuromadoshi; break;

            case 26: r = watchTarget.EnabledShokanshi; break;

            case 27: r = watchTarget.EnabledShokanshi; break;

            case 28: r = watchTarget.EnabledGakusha; break;

            case 29: r = watchTarget.EnabledNinja; break;

            case 30: r = watchTarget.EnabledNinja; break;

            case 31: r = watchTarget.EnabledMachinist; break;

            case 32: r = watchTarget.EnabledDarkKnight; break;

            case 33: r = watchTarget.EnabledAstrologian; break;

            default: r = false; break;
            }

            // 自分自身か?
            if (targetInfo.ID == playerInfo.ID)
            {
                r = watchTarget.EnabledSelf;
            }

            return(r);
        }
        public static List<Combatant> GetCombatantList()
        {
            Initialize();

            var result = new List<Combatant>();

            if (plugin == null)
            {
                return result;
            }

            if (GetFFXIVProcess == null)
            {
                return result;
            }

            if (pluginScancombat == null)
            {
                return result;
            }

            dynamic list = pluginScancombat.GetCombatantList();
            foreach (dynamic item in list.ToArray())
            {
                if (item == null)
                {
                    continue;
                }

                var combatant = new Combatant();

                combatant.ID = (uint)item.ID;
                combatant.OwnerID = (uint)item.OwnerID;
                combatant.Job = (int)item.Job;
                combatant.Name = (string)item.Name;
                combatant.type = (byte)item.type;
                combatant.Level = (int)item.Level;
                combatant.CurrentHP = (int)item.CurrentHP;
                combatant.MaxHP = (int)item.MaxHP;
                combatant.CurrentMP = (int)item.CurrentMP;
                combatant.MaxMP = (int)item.MaxMP;
                combatant.CurrentTP = (int)item.CurrentTP;

                result.Add(combatant);
            }

            return result;
        }