更新
This commit is contained in:
@@ -4,8 +4,8 @@ using System.Linq;
|
||||
using Continentis.MainGame.Character;
|
||||
using Continentis.MainGame.Combat;
|
||||
using Continentis.MainGame.Commands;
|
||||
using SLSFramework.General;
|
||||
using SLSFramework.UModAssistance;
|
||||
using SLSUtilities.General;
|
||||
using SLSUtilities.UModAssistance;
|
||||
using UniRx;
|
||||
using UnityEngine;
|
||||
using Random = UnityEngine.Random;
|
||||
@@ -112,12 +112,22 @@ namespace Continentis.MainGame.Card
|
||||
? characters.Where(character => character.fraction is Fraction.Enemy or Fraction.Neutral)
|
||||
: characters.Where(character => character.fraction != user.fraction));
|
||||
|
||||
//处理保护,嘲讽等
|
||||
//处理保护,挑衅等(仅对非全体目标卡牌生效)
|
||||
if (targetCount != -1)
|
||||
{
|
||||
// 保护:被保护的目标不可选
|
||||
List<CharacterBase> protectedTargets = valid.Where(target => target.statusSubmodule.HasStatus(StatusType.Protected)).ToList();
|
||||
notMet.AddRange(protectedTargets);
|
||||
valid.RemoveRange(protectedTargets);
|
||||
|
||||
// 挑衅:若使用者处于被挑衅状态,则只能选择挑衅者
|
||||
if (user.statusSubmodule.HasStatus(StatusType.Provoked) && user.statusSubmodule.provokers.Count > 0)
|
||||
{
|
||||
List<CharacterBase> provokers = user.statusSubmodule.provokers;
|
||||
List<CharacterBase> nonProvokerTargets = valid.Where(target => !provokers.Contains(target)).ToList();
|
||||
notMet.AddRange(nonProvokerTargets);
|
||||
valid.RemoveRange(nonProvokerTargets);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user