Exemple #1
0
 public override void executeAction()
 {
     foreach (Chara chara in targetList)
     {
         if (!chara.isEnemy && chara.HPcurr > 0)
         {
             StatusEffect se = new Ef_DefDOWN();
             se.InitializeSE(level, dur);
             chara.InflictStatus(se);
         }
     }
 }
Exemple #2
0
 public override void executeAction()
 {
     if (source.MPcurr < mpCost)
     {
         message = source.name + " does not have enough MP!\n";
     }
     else
     {
         source.MPcurr -= mpCost;
         damage         = CalculateDamage(source.atk + 5 * level, target);
         target.TakeDamage(damage);
         StatusEffect se = new Ef_DefDOWN();
         se.InitializeSE(level, duration);
         target.InflictStatus(se);
     }
 }
 public override void executeAction()
 {
     if (source.MPcurr < mpCost)
     {
         message = source.name + " has not enough MP!\n";
     }
     else
     {
         source.MPcurr -= mpCost;
         damage         = CalculateDamage(source.atk, target);
         message        = target.name + " is attacked for " + damage + " and inflicted SPD and ATK DOWN!\n";
         target.TakeDamage(damage);
         StatusEffect se = new Ef_AtkDOWN();
         se.InitializeSE(level, duration);
         target.InflictStatus(se);
         se = new Ef_DefDOWN();
         se.InitializeSE(level, duration);
         target.InflictStatus(se);
     }
 }
    public override void executeAction()
    {
        int          minDef = -9999;
        StatusEffect se     = new Ef_DefDOWN();

        se.InitializeSE(defDownLevel, defDownDur);
        foreach (Chara chara in targetList)
        {
            if (!chara.isEnemy && chara.HPcurr > 0)
            {
                //target player with highest def
                if (minDef < chara.def)
                {
                    minDef = chara.def;
                    target = chara;
                }
            }
        }
        if (minDef > -9999)
        {
            target.InflictStatus(se);
        }
    }
    public override void executeAction()
    {
        StatusEffect se  = new Ef_AtkDOWN();
        StatusEffect se2 = new Ef_SpdDOWN();
        StatusEffect se3 = new Ef_DefDOWN();

        se.InitializeSE(level, dur);
        se2.InitializeSE(level, dur);
        se3.InitializeSE(level, dur);

        List <Chara> viableTarget = new List <Chara>();

        foreach (Chara chara in targetList)
        {
            if (!chara.isEnemy && chara.HPcurr > 0)
            {
                viableTarget.Add(chara);
            }
        }
        target = viableTarget[Random.Range(0, viableTarget.Count)];
        target.InflictStatus(se);
        target.InflictStatus(se2);
        target.InflictStatus(se3);
    }
Exemple #6
0
    public override void executeAction()
    {
        StatusEffect se;

        foreach (Chara chara in targetList)
        {
            if (!chara.isEnemy && chara.HPcurr > 0)
            {
                //severity
                foreach (StatusEffect se2 in chara.statusEffectList)
                {
                    se2.ResetEffect(chara);
                    se2.level += sevMod;
                    se2.RunEffect(chara);
                    GameObject.FindObjectOfType <CombatEngine>().PlayDebuffFX(chara);
                }

                se = new Ef_DefDOWN();
                se.InitializeSE(defDownLevel, defDownDur);
                chara.InflictStatus(se);
                GameObject.FindObjectOfType <CombatEngine>().PlayDebuffFX(chara);
            }
        }
    }