private IEnumerator UseMoveEffects(MoveEffects effects, MonsterObj attackingMonster, MonsterObj defendingMonster, MoveTarget moveTarget) { // Handle any stat changes. if (effects.StatChanges != null) { if (moveTarget == MoveTarget.Self) { attackingMonster.ApplyStatChanges(effects.StatChanges); } else { defendingMonster.ApplyStatChanges(effects.StatChanges); } } // Handle any status conditions. if (effects.Status != ConditionID.None) { defendingMonster.SetStatus(effects.Status); } // Handle any volatile status conditions. if (effects.VolatileStatus != ConditionID.None) { defendingMonster.SetVolatileStatus(effects.VolatileStatus); } yield return(ShowStatusChanges(attackingMonster)); yield return(ShowStatusChanges(defendingMonster)); }