DealDamageEffect know how much was really dealt

This commit is contained in:
henriquenakashima 2020-09-19 22:58:23 -04:00
parent 8423a2a87a
commit 169210efbe
4 changed files with 15 additions and 7 deletions

View file

@ -128,7 +128,8 @@ public class BattleController : MonoBehaviour, IBattleEffectApplier, IBattleEffe
monster.ResetBlock();
}
this.Apply(new DealDamageEffect(heroes[this.enemyTarget], 2));
DealDamageEffect damageEffect = new DealDamageEffect(heroes[this.enemyTarget], 2);
this.Apply(damageEffect);
DecideEnemyTarget();
StartHeroTurn();
@ -222,14 +223,18 @@ public class BattleController : MonoBehaviour, IBattleEffectApplier, IBattleEffe
private List<Trigger> activatedTriggers = new List<Trigger>();
private List<DamageTrigger> damageTriggers = new List<DamageTrigger>();
public void DealDamage(DealDamageEffect effect) {
effect.Target.DealDamage(effect.Amount);
public int DealDamage(DealDamageEffect effect) {
int damageDealt = effect.Target.DealDamage(effect.Amount);
foreach (DamageTrigger dt in this.damageTriggers) {
if (dt.IsTriggeredBy(effect)) {
EnqueueActivatedTrigger(dt);
}
}
// Do this after the card resolution is over to avoid reentraint effects.
RunActivatedTriggers();
return damageDealt;
}
public void AddBlock(BattleParticipant target, int amount) {