AttackResult修改
This commit is contained in:
@@ -76,10 +76,13 @@ namespace Continentis.MainGame.Character
|
||||
/// <param name="ignoreBlock">是否无视格挡</param>
|
||||
/// <param name="ignoreShield">是否无视护盾</param>
|
||||
/// <returns>实际造成的伤害</returns>
|
||||
public AttackResult Attack(CharacterBase target, int startDamage, bool triggerAttackEvent = true, bool ignoreDodge = false, bool ignoreBlock = false, bool ignoreShield = false)
|
||||
public AttackResult Attack(CharacterBase target, int startDamage, CardInstance attackCard = null, bool triggerAttackEvent = true, bool ignoreDodge = false, bool ignoreBlock = false, bool ignoreShield = false)
|
||||
{
|
||||
eventSubmodule.onStartAttack.Invoke(new List<CharacterBase> { target });
|
||||
|
||||
if (triggerAttackEvent)
|
||||
{
|
||||
eventSubmodule.onStartAttack.Invoke(target);
|
||||
}
|
||||
|
||||
//闪避检测:如果闪避成功,直接结束
|
||||
int modifiedStartDamageForDodge = Mathf.RoundToInt(startDamage * GetRawAttribute("DodgeCheckStartDamageMultiplier", 1));
|
||||
bool dodged = !ignoreDodge && target.CheckDodge(modifiedStartDamageForDodge);
|
||||
@@ -105,10 +108,14 @@ namespace Continentis.MainGame.Character
|
||||
}
|
||||
|
||||
target.characterView.hudContainer.enablingHUDs["MainAttributesBar"].UpdateHud();
|
||||
AttackResult attackResult = new AttackResult(this, startDamage, dodged, blocked, shielded, hurt);
|
||||
AttackResult attackResult = new AttackResult(this, target, startDamage, attackCard, dodged, blocked, shielded, hurt);
|
||||
if (triggerAttackEvent)
|
||||
{
|
||||
eventSubmodule.onFinishAttack.Invoke(new List<CharacterBase> { target }, new List<AttackResult> { attackResult });
|
||||
eventSubmodule.onFinishAttack.Invoke(target, attackResult);
|
||||
combatBuffSubmodule.buffList.For(buff =>
|
||||
{
|
||||
buff.eventSubmodule.onDealAttack.Invoke(attackResult);
|
||||
});
|
||||
}
|
||||
|
||||
return attackResult;
|
||||
|
||||
Reference in New Issue
Block a user