除了充盈都做完了

This commit is contained in:
SoulliesOfficial
2025-10-31 10:02:30 -04:00
parent 5d09ef7b53
commit ee1d3d9c0a
179 changed files with 3239 additions and 200 deletions

View File

@@ -169,4 +169,49 @@ namespace Continentis.MainGame.Combat
}
}
}
public partial class CombatCharacterController
{
public List<CharacterBase> GetAllAllies(CharacterBase character, bool includeSelf = false)
{
if (character.fraction is Fraction.Player or Fraction.Ally)
{
List<CharacterBase> alliesList = new List<CharacterBase>(playerHeroes);
alliesList.AddRange(npcs[Fraction.Ally]);
if (!includeSelf)
{
alliesList.Remove(character);
}
return alliesList;
}
else
{
return npcs[character.fraction].Cast<CharacterBase>().ToList();
}
}
public List<CharacterBase> GetAllEnemies(CharacterBase character)
{
if (character.fraction is Fraction.Player or Fraction.Ally)
{
return npcs[Fraction.Enemy].Cast<CharacterBase>().ToList();
}
else if (character.fraction is Fraction.Enemy)
{
List<CharacterBase> enemiesList = new List<CharacterBase>(playerHeroes);
enemiesList.AddRange(npcs[Fraction.Ally]);
return enemiesList;
}
else // Neutral
{
List<CharacterBase> enemiesList = new List<CharacterBase>();
enemiesList.AddRange(npcs[Fraction.Player]);
enemiesList.AddRange(npcs[Fraction.Ally]);
enemiesList.AddRange(npcs[Fraction.Enemy]);
return enemiesList;
}
}
}
}

View File

@@ -11,29 +11,29 @@ namespace Continentis.MainGame.Combat
/// <summary>
/// 战斗开始
/// </summary>
public OrderedDictionary<string, EventUnit> onCombatStart;
public OrderedDictionary<string, PrioritizedAction> onCombatStart;
/// <summary>
/// 战斗结束
/// </summary>
public OrderedDictionary<string, EventUnit> onCombatEnd;
public OrderedDictionary<string, PrioritizedAction> onCombatEnd;
/// <summary>
/// 回合开始
/// </summary>
public OrderedDictionary<string, EventUnit> onRoundStart;
public OrderedDictionary<string, PrioritizedAction> onRoundStart;
/// <summary>
/// 回合结束
/// </summary>
public OrderedDictionary<string, EventUnit> onRoundEnd;
public OrderedDictionary<string, PrioritizedAction> onRoundEnd;
public CombatEventCollection()
{
onCombatStart = new OrderedDictionary<string, EventUnit>();
onCombatEnd = new OrderedDictionary<string, EventUnit>();
onRoundStart = new OrderedDictionary<string, EventUnit>();
onRoundEnd = new OrderedDictionary<string, EventUnit>();
onCombatStart = new OrderedDictionary<string, PrioritizedAction>();
onCombatEnd = new OrderedDictionary<string, PrioritizedAction>();
onRoundStart = new OrderedDictionary<string, PrioritizedAction>();
onRoundEnd = new OrderedDictionary<string, PrioritizedAction>();
}
}
}

View File

@@ -220,7 +220,7 @@ namespace Continentis.MainGame.Combat
List<CardInstance> cardToExhaust = handPile.Where(card => card.cardLogic.HasKeyword("Ethereal")).ToList(); //含有“虚无”关键词的卡牌
List<CardInstance> cardsToDiscard = handPile.Except(cardToRetain).Except(cardToExhaust).ToList(); //其他卡牌,默认丢弃
CommandQueueManager.Instance.AddCommand(playerHero.deckSubmodule.ExhaustCards(cardToExhaust));
CommandQueueManager.Instance.AddCommand(playerHero.deckSubmodule.DiscardCards(cardsToDiscard));
CommandQueueManager.Instance.AddCommand(playerHero.deckSubmodule.DiscardCards(cardsToDiscard, false));
}
characterController.actionOrderList.Remove(currentCharacter);