This commit is contained in:
SoulliesOfficial
2026-04-17 12:01:50 -04:00
parent dd2657573a
commit ac98ec3aef
438 changed files with 4505 additions and 428 deletions

View File

@@ -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);
}
}
}
}