private IEnumerator DoCharActions(CharActionData data) { bool doMassAttack = data.card.target == "mass"; if (data.card.name == "rest") { HealAllPlayers(5, data.chars); } else { foreach (Person p in data.chars.party) { if (p.currentHealth == 0) { continue; } if (data.card.type != "basic" && data.card.type != p.info.charClass) { continue; } int damage = (int)(p.damage * data.card.damageMultiplier); float time = 0.25f; p.charUIElement.AnimateAttack(time); yield return(new WaitForSeconds(time)); if (doMassAttack) { DamageAllMobs(damage); } else { DamageRandomMob(damage); } int monstersLeft = CheckMobStates(data.level); if (monstersLeft == 0) { break; } } } data.level.EndCharacterAnimation(); }
private IEnumerator DoCharActions(CharActionData data) { bool doMassAttack = data.card.target == "mass"; if(data.card.name == "rest") { HealAllPlayers(5, data.chars); } else foreach(Person p in data.chars.party) { if(p.currentHealth == 0) continue; if(data.card.type != "basic" && data.card.type != p.info.charClass) continue; int damage = (int)(p.damage * data.card.damageMultiplier); float time = 0.25f; p.charUIElement.AnimateAttack(time); yield return new WaitForSeconds(time); if(doMassAttack) DamageAllMobs(damage); else DamageRandomMob(damage); int monstersLeft = CheckMobStates(data.level); if(monstersLeft == 0) break; } data.level.EndCharacterAnimation(); }