コード例 #1
0
ファイル: Event.cs プロジェクト: roaet/LD28
    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();
    }
コード例 #2
0
ファイル: Event.cs プロジェクト: roaet/LD28
 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();
 }