/// <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; }
/// <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; }