AttackResult修改

This commit is contained in:
SoulliesOfficial
2025-11-08 22:22:43 -05:00
parent b2e9e84c52
commit 1bca620966
21 changed files with 211 additions and 37 deletions

View File

@@ -14,8 +14,8 @@ namespace Continentis.MainGame.Character
public OrderedDictionary<string, PrioritizedAction> onRoundStart; //每回合开始时
public OrderedDictionary<string, PrioritizedAction> onRoundEnd; //每回合结束时
public OrderedDictionary<string, PrioritizedAction<List<CharacterBase>>> onStartAttack; //开始攻击时,参数为被攻击目标列表
public OrderedDictionary<string, PrioritizedAction<List<CharacterBase>, List<AttackResult>>> onFinishAttack; //完成攻击时,参数为被攻击目标列表和对应的攻击结果列表
public OrderedDictionary<string, PrioritizedAction<CharacterBase>> onStartAttack; //开始攻击时,参数为被攻击目标
public OrderedDictionary<string, PrioritizedAction<CharacterBase, AttackResult>> onFinishAttack; //完成攻击时,参数为被攻击目标和对应的攻击结果
public OrderedDictionary<string, PrioritizedAction<CharacterBase, AttackResult>> onGetAttacked; //被攻击时,参数为攻击者和攻击结果
public OrderedDictionary<string, PrioritizedAction> onActionStart; //每次行动开始时
@@ -35,8 +35,8 @@ namespace Continentis.MainGame.Character
onActionStart = new OrderedDictionary<string, PrioritizedAction>();
onActionEnd = new OrderedDictionary<string, PrioritizedAction>();
onStartAttack = new OrderedDictionary<string, PrioritizedAction<List<CharacterBase>>>();
onFinishAttack = new OrderedDictionary<string, PrioritizedAction<List<CharacterBase>, List<AttackResult>>>();
onStartAttack = new OrderedDictionary<string, PrioritizedAction<CharacterBase>>();
onFinishAttack = new OrderedDictionary<string, PrioritizedAction<CharacterBase, AttackResult>>();
onGetAttacked = new OrderedDictionary<string, PrioritizedAction<CharacterBase, AttackResult>>();
onBeforePlayCard = new OrderedDictionary<string, PrioritizedAction<CardInstance, List<CharacterBase>>>();
@@ -82,6 +82,8 @@ namespace Continentis.MainGame.Character
public class AttackResult
{
public CharacterBase attacker; //攻击者
public CharacterBase target; //被攻击者
public CardInstance attackCard; //使用的攻击卡牌
public int startDamage; //攻击开始时的原始伤害值
public bool isDodged; //是否被闪避
public int blockedDamage; //格挡掉的伤害
@@ -90,9 +92,11 @@ namespace Continentis.MainGame.Character
public bool IsHurt => hurtDamage > 0; //是否实际受到伤害
public AttackResult(CharacterBase attacker, int startDamage, bool isDodged, int blocked, int shielded, int hurt)
public AttackResult(CharacterBase attacker, CharacterBase target, int startDamage, CardInstance attackCard, bool isDodged, int blocked, int shielded, int hurt)
{
this.attacker = attacker;
this.target = target;
this.attackCard = attackCard;
this.startDamage = startDamage;
this.isDodged = isDodged;
this.blockedDamage = blocked;