Exemple #1
0
    public override void executeAction()
    {
        StatusEffect se    = new Ef_Stun();
        int          minHP = -9999;

        se.InitializeSE(level, duration);
        target.InflictStatus(se);
        foreach (Chara chara in targetList)
        {
            if (!chara.isEnemy && chara.HPcurr > 0)
            {
                if (chara.HPcurr > minHP)
                {
                    target = chara;
                    minHP  = chara.HPcurr;
                }
            }
        }
        if (minHP > -9999)
        {
            target.InflictStatus(se);
            damage = CalculateDamage(source.atk, target);
            target.TakeDamage(damage);
        }
    }
Exemple #2
0
    public override void executeAction()
    {
        List <Chara> viableTargets = new List <Chara>();

        foreach (Chara chara in targetList)
        {
            if (!chara.isEnemy && chara.HPcurr > 0)
            {
                viableTargets.Add(chara);
            }
        }
        target = viableTargets[Random.Range(0, viableTargets.Count)];
        foreach (StatusEffect se in target.statusEffectList)
        {
            se.ResetEffect(target);
        }
        target.statusEffectList.Clear();
        StatusEffect se2 = new Ef_Taunt();

        se2.InitializeSE(8, 3);
        target.InflictStatus(se2);
        damage = CalculateDamage(source.atk, target);
        target.TakeDamage(damage);
        source.efTauntTarget = target;
    }
Exemple #3
0
    public override void executeAction()
    {
        List <Chara> viableTargets = new List <Chara>();

        if (source.efTauntTarget != null)
        {
            if (source.efTauntTarget.HPcurr > 0)
            {
                target = source.efTauntTarget;
            }
            else
            {
                foreach (Chara chara in targetList)
                {
                    if (!chara.isEnemy && chara.HPcurr > 0)
                    {
                        viableTargets.Add(chara);
                    }
                }
                target = viableTargets[Random.Range(0, viableTargets.Count)];
            }
        }
        else
        {
            foreach (Chara chara in targetList)
            {
                if (!chara.isEnemy && chara.HPcurr > 0)
                {
                    viableTargets.Add(chara);
                }
            }
            target = viableTargets[Random.Range(0, viableTargets.Count)];
        }
        StatusEffect se = new Ef_AtkUP();

        se.InitializeSE(level, duration);
        target.InflictStatus(se);
        StatusEffect se2 = new Ef_SpdUP();

        se2.InitializeSE(level, duration);
        target.InflictStatus(se2);
        StatusEffect se3 = new Ef_DefUP();

        se3.InitializeSE(level, duration);
        target.InflictStatus(se3);
    }
 public override void executeAction()
 {
     source.TakeDamage(2);
     if (source.HPcurr > 0)
     {
         StatusEffect se = new Ef_Shield();
         se.InitializeSE(level, duration);
         target.InflictStatus(se);
     }
 }
    public override void executeAction()
    {
        List <Chara> viableTargets = new List <Chara>();

        foreach (Chara chara in targetList)
        {
            if (!chara.isEnemy && chara.HPcurr > 0)
            {
                viableTargets.Add(chara);
            }
        }
        target = viableTargets[Random.Range(0, viableTargets.Count)];
        StatusEffect se = new Ef_SpdDOWN();

        se.InitializeSE(spdDownLevel, spdDownDur);
        target.InflictStatus(se);
        se = new Ef_HPDOWN();
        se.InitializeSE(sickLevel, sickDur);
        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);
    }
    public override void executeAction()
    {
        List <Chara> viableTargets = new List <Chara>();

        foreach (Chara chara in targetList)
        {
            if (chara.isEnemy && chara.HPcurr > 0)
            {
                viableTargets.Add(chara);
            }
        }
        target = viableTargets[Random.Range(0, viableTargets.Count)];
        StatusEffect se = new Ef_SpdUP();

        se.InitializeSE(level, duration);
        target.InflictStatus(se);
    }
    public override void executeAction()
    {
        StatusEffect se = new Ef_Poison();

        se.InitializeSE(level, duration);
        List <Chara> viableTargets = new List <Chara>();

        //random target, save to tauntTarget
        foreach (Chara chara in targetList)
        {
            if (!chara.isEnemy && chara.HPcurr > 0)
            {
                viableTargets.Add(chara);
            }
        }
        target = viableTargets[Random.Range(0, viableTargets.Count)];
        target.InflictStatus(se);
        source.efTauntTarget = target;
    }
    public override void executeAction()
    {
        StatusEffect se    = new Ef_Taunt();
        int          maxHP = 9999;

        se.InitializeSE(level, duration);
        foreach (Chara chara in targetList)
        {
            if (!chara.isEnemy && chara.HPcurr > 0)
            {
                if (chara.HPcurr < maxHP)
                {
                    target = chara;
                    maxHP  = chara.HPcurr;
                }
            }
        }
        if (maxHP < 9999)
        {
            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);
        }
    }