/// <summary> /// パーティの戦闘メンバリストを取得する /// </summary> /// <returns>パーティの戦闘メンバリスト</returns> public static List <Combatant> GetCombatantListParty() { // 総戦闘メンバリストを取得する(周囲のPC, NPC, MOB等すべて) var combatListAll = FF14PluginHelper.GetCombatantList(); // パーティメンバのIDリストを取得する int partyCount; var partyListById = FF14PluginHelper.GetCurrentPartyList(out partyCount); var combatListParty = new List <Combatant>(); foreach (var partyMemberId in partyListById) { if (partyMemberId == 0) { continue; } var partyMember = ( from x in combatListAll where x.ID == partyMemberId select x).FirstOrDefault(); if (partyMember != null) { combatListParty.Add(partyMember); Debug.WriteLine("<" + combatListParty.Count().ToString() + "> " + partyMember.Name); } } return(combatListParty); }
/// <summary> /// ペットIDを更新する /// </summary> public static void RefreshPetID() { // Combatantリストを取得する var combatant = FF14PluginHelper.GetCombatantList(); if (combatant != null && combatant.Count > 0) { var pet = ( from x in combatant where x.OwnerID == combatant[0].ID && ( x.Name.Contains("フェアリー・") || x.Name.Contains("・エギ") || x.Name.Contains("カーバンクル・") ) select x).FirstOrDefault(); if (pet != null) { petid = Convert.ToString((long)((ulong)pet.ID), 16).ToUpper(); petidZone = ActGlobals.oFormActMain.CurrentZone; } } }
/// <summary> /// ペットIDを更新する /// </summary> public static void RefreshPetID() { // Combatantリストを取得する var combatant = FF14PluginHelper.GetCombatantList(); if (combatant != null && combatant.Count > 0) { var pet = ( from x in combatant where x.OwnerID == combatant[0].ID && ( x.Name.Contains("フェアリー・") || x.Name.Contains("・エギ") || x.Name.Contains("カーバンクル・") ) select x).FirstOrDefault(); if (pet != null) { petid = Convert.ToString((long)((ulong)pet.ID), 16).ToUpper(); petidZone = ActGlobals.oFormActMain.CurrentZone; // 置換後のマッチングキーワードを消去する SpellTimerTable.ClearReplacedKeywords(); OnePointTelopTable.Default.ClearReplacedKeywords(); } } }
/// <summary> /// プレイヤ情報をリフレッシュする /// </summary> public static void RefreshPlayer() { var list = FF14PluginHelper.GetCombatantList(); if (list.Count > 0) { player = list[0]; lastPlayerDateTime = DateTime.Now; } }