public override TimedMethod[] BasicAttack()
 {
     System.Random rng = new System.Random();
     TimedMethod[] poisonPart;
     if (rng.Next(10) < 3 && Attacks.EvasionCheck(Party.GetEnemy(), GetAccuracy()))
     {
         poisonPart = Party.GetEnemy().status.Poison(1);
     }
     else
     {
         poisonPart = new TimedMethod[] { new TimedMethod("Null"), new TimedMethod("Null") };
     }
     Attacks.SetAudio("Acid", 10);
     TimedMethod[] attackPart;
     if (Party.BagContains(new Metronome()))
     {
         attackPart = Attacks.Attack(this, Party.GetEnemy(), strength + 3, strength + 3, GetAccuracy(), true, true, false);
     }
     else
     {
         attackPart = Attacks.Attack(this, Party.GetEnemy());
     }
     TimedMethod[] moves = new TimedMethod[attackPart.Length + 4];
     moves[0] = new TimedMethod(0, "Audio", new object[] { "Missile" });
     moves[1] = new TimedMethod(0, "AudioAfter", new object[] { "Glass Break", 20 });
     attackPart.CopyTo(moves, 2);
     moves[moves.Length - 2] = poisonPart[0];
     moves[moves.Length - 1] = poisonPart[1];
     return(moves);
 }
Пример #2
0
 public override TimedMethod[] BasicAttack()
 {
     TimedMethod[] apathyPart;
     if (Attacks.EvasionCheck(Party.GetEnemy(), GetAccuracy()))
     {
         apathyPart = Party.GetEnemy().status.CauseApathy(1);
     }
     else
     {
         apathyPart = new TimedMethod[] { new TimedMethod("Null"), new TimedMethod("Null") };
     }
     TimedMethod[] attackPart;
     Attacks.SetAudio("Cheese", 20);
     if (Party.BagContains(new Metronome()))
     {
         attackPart = Attacks.Attack(this, Party.GetEnemy(), strength + 3, strength + 3, GetAccuracy(), true, true, false);
     }
     else
     {
         attackPart = Attacks.Attack(this, Party.GetEnemy());
     }
     TimedMethod[] moves = new TimedMethod[attackPart.Length + 3];
     moves[0] = new TimedMethod(0, "Audio", new object[] { "Big Swing" });
     attackPart.CopyTo(moves, 1);
     moves[moves.Length - 2] = apathyPart[0];
     moves[moves.Length - 1] = apathyPart[1];
     return(moves);
 }
Пример #3
0
    public override TimedMethod[] Use()
    {
        Attacks.SetAudio("Blunt Hit", 6);
        if (Party.enemyCount == 1 || !Attacks.EvasionCheck(Party.GetEnemy(), Party.GetPlayer().GetAccuracy()))
        {
            return(new TimedMethod[] { new TimedMethod(0, "Audio", new object[] { "Small Swing" }), new TimedMethod(0, "StagnantAttack", new object[] {
                    true, Party.GetPlayer().GetStrength(), Party.GetPlayer().GetStrength() + 5, Party.GetPlayer().GetAccuracy(), true, true, false
                }) });
        }
        int[] pool  = new int[Party.enemyCount - 1];
        int   index = 0;

        for (int i = 0; i < 4; i++)
        {
            if (i != Party.enemySlot - 1 && Party.enemies[i] != null && Party.enemies[i].GetAlive())
            {
                pool[index] = i;
                index++;
            }
        }
        System.Random rng    = new System.Random();
        int           former = Party.enemySlot;

        Party.enemySlot = pool[rng.Next(Party.enemyCount - 1)] + 1;
        return(new TimedMethod[] { new TimedMethod(0, "Audio", new object[] { "Small Swing" }),
                                   new TimedMethod(0, "AttackAny", new object[] { Party.GetPlayer(), Party.enemies[former - 1],
                                                                                  Party.GetPlayer().GetStrength(), Party.GetPlayer().GetStrength() + 4, Party.GetPlayer().GetAccuracy(), true, true, false }),
                                   new TimedMethod(0, "EnemySwitch", new object[] { Party.enemySlot, former }),
                                   new TimedMethod(60, "Log", new object[] { Party.GetEnemy().ToString() + " was sent out" }) });
    }
 public override TimedMethod[] BasicAttack()
 {
     System.Random rng = new System.Random();
     TimedMethod[] blindPart;
     if (rng.Next(10) < 6 && Attacks.EvasionCheck(Party.GetEnemy(), GetAccuracy()))
     {
         blindPart = Party.GetEnemy().status.Blind(2);
     }
     else
     {
         blindPart = new TimedMethod[] { new TimedMethod("Null"), new TimedMethod("Null") };
     }
     TimedMethod[] attackPart;
     Attacks.SetAudio("Knife", 15);
     if (Party.BagContains(new Metronome()))
     {
         attackPart = Attacks.Attack(this, Party.GetEnemy(), strength + 3, strength + 3, GetAccuracy(), true, true, false);
     }
     else
     {
         attackPart = Attacks.Attack(this, Party.GetEnemy());
     }
     TimedMethod[] moves = new TimedMethod[attackPart.Length + 3];
     moves[0] = new TimedMethod(0, "Audio", new object[] { "Knife Throw" });
     attackPart.CopyTo(moves, 1);
     moves[moves.Length - 2] = blindPart[0];
     moves[moves.Length - 1] = blindPart[1];
     return(moves);
 }
Пример #5
0
    public override TimedMethod[] BasicAttack()
    {
        System.Random rng = new System.Random();
        TimedMethod[] stunPart;
        if (rng.Next(10) < 5 && Attacks.EvasionCheck(Party.GetEnemy(), GetAccuracy()))
        {
            stunPart = Party.GetEnemy().status.Stun(2);
        }
        else
        {
            stunPart = new TimedMethod[] { new TimedMethod("Null"), new TimedMethod("Null") };
        }
        Democracy castPassive = (Democracy)passive;

        castPassive.attacked = true;
        TimedMethod[] attackPart;
        Attacks.SetAudio("Blunt Hit", 10);
        if (Party.BagContains(new Metronome()))
        {
            attackPart = Attacks.Attack(this, Party.GetEnemy(), strength + 3, strength + 3, GetAccuracy(), true, true, false);
        }
        else
        {
            attackPart = Attacks.Attack(this, Party.GetEnemy());
        }
        TimedMethod[] moves = new TimedMethod[attackPart.Length + 3];
        moves[0] = new TimedMethod(0, "Audio", new object[] { "Big Swing" });
        attackPart.CopyTo(moves, 1);
        moves[moves.Length - 2] = stunPart[0];
        moves[moves.Length - 1] = stunPart[1];
        return(moves);
    }
Пример #6
0
 public void AttackAll(bool playerTurn, int lower, int upper, int accuracy, bool usesPower)
 {
     TimedMethod[] moves;
     if (playerTurn)
     {
         if (!Attacks.EvasionCheck(Party.GetEnemy(), accuracy))
         {
             StagnantAttack(playerTurn, lower, upper, accuracy, usesPower, true, false);
         }
         bool[] slots = new bool[] { Party.GetEnemy(0) != null && Party.GetEnemy(0).GetAlive(),
                                     Party.GetEnemy(1) != null && Party.GetEnemy(1).GetAlive(), Party.GetEnemy(2) != null && Party.GetEnemy(2).GetAlive(),
                                     Party.GetEnemy(3) != null && Party.GetEnemy(3).GetAlive() };
         for (int i = 0; i < 4; i++)
         {
             if (slots[i])
             {
                 moves = Attacks.Attack(player, Party.GetEnemy(i), lower, upper, accuracy, usesPower, false, false);
                 foreach (TimedMethod m in moves)
                 {
                     methodQueue.Enqueue(m);
                 }
             }
         }
         player.SetCharge(0);
         moves = Party.CheckDeath();
         foreach (TimedMethod m in moves)
         {
             methodQueue.Enqueue(m);
         }
         GetEnemy();
     }
     else
     {
         if (!Attacks.EvasionCheck(Party.GetPlayer(), accuracy))
         {
             StagnantAttack(playerTurn, lower, upper, accuracy, usesPower, true, false);
         }
         bool[] slots = new bool[] { Party.GetCharacter(0) != null && Party.GetCharacter(0).GetAlive(),
                                     Party.GetCharacter(1) != null && Party.GetCharacter(1).GetAlive(), Party.GetCharacter(2) != null &&
                                     Party.GetCharacter(2).GetAlive(), Party.GetCharacter(3) != null && Party.GetCharacter(0).GetAlive() };
         for (int i = 0; i < 4; i++)
         {
             if (slots[i])
             {
                 moves = Attacks.Attack(enemy, Party.GetCharacter(i), lower, upper, accuracy, usesPower, false, false);
                 foreach (TimedMethod m in moves)
                 {
                     methodQueue.Enqueue(m);
                 }
             }
         }
         enemy.SetCharge(0);
         moves = Party.CheckDeath();
         foreach (TimedMethod m in moves)
         {
             methodQueue.Enqueue(m);
         }
         GetPlayer();
     }
 }
    public override TimedMethod[] BasicAttack()
    {
        TimedMethod guardPart = new TimedMethod("Null");

        if (Attacks.EvasionCheck(Party.GetEnemy(), GetAccuracy()))
        {
            guardPart = new TimedMethod(0, "CharLogDelay", new object[] { "-1", Party.enemySlot - 1, "guard", false });
            Party.GetEnemy().GainGuard(-1);
        }
        TimedMethod[] attackPart;
        Attacks.SetAudio("Metal Hit", 10);
        if (Party.BagContains(new Metronome()))
        {
            attackPart = Attacks.Attack(this, Party.GetEnemy(), strength + 3, strength + 3, GetAccuracy(), true, true, false);
        }
        else
        {
            attackPart = Attacks.Attack(this, Party.GetEnemy());
        }
        TimedMethod[] moves = new TimedMethod[attackPart.Length + 2];
        moves[0] = new TimedMethod(0, "Audio", new object[] { "Big Swing" });
        moves[moves.Length - 1] = guardPart;
        attackPart.CopyTo(moves, 1);
        return(moves);
    }
    public override TimedMethod[] EnemyTurn()
    {
        FratLord f = (FratLord)Party.GetEnemy(1);

        if (Attacks.EvasionCheck(Party.GetPlayer(), GetAccuracy()))
        {
            TimedMethod[] firePart = new TimedMethod[] { new TimedMethod(60, "Log", new object[] {
                    ToString() + " was compelled to jump the bonfire, and failed"
                }),
                                                         new TimedMethod(0, "StagnantAttack", new object[] { false, 5, 5, GetAccuracy(), true, false, false }) };
            TimedMethod[] fratPart = f.Fail();
            TimedMethod[] moves    = new TimedMethod[firePart.Length + fratPart.Length];
            firePart.CopyTo(moves, 0);
            fratPart.CopyTo(moves, firePart.Length);
            return(moves);
        }
        else
        {
            Party.enemySlot = 1;
            TimedMethod[] firePart = new TimedMethod[] { new TimedMethod(60, "Log", new object[] {
                    ToString() + " was compelled to jump the bonfire"
                }),
                                                         new TimedMethod(0, "AttackAny", new object[] { this, Party.GetPlayer(), 5, 5, GetAccuracy(), true, false, false }) };
            TimedMethod[] fratPart = f.Third();
            TimedMethod[] moves    = new TimedMethod[firePart.Length + fratPart.Length];
            firePart.CopyTo(moves, 0);
            fratPart.CopyTo(moves, firePart.Length);
            return(moves);
        }
    }
Пример #9
0
 public override TimedMethod[] Use()
 {
     if (lastUse == Party.turn - 1)
     {
         answer = answer * factorial;
         if (factorial < 8)
         {
             factorial++;
         }
         lastUse++;
     }
     else
     {
         answer = 1; factorial = 2; lastUse = Party.turn;
     }
     if (!Attacks.EvasionCheck(Party.GetEnemy(), Party.GetPlayer().GetAccuracy()))
     {
         answer = 1; factorial = 1;
     }
     Attacks.SetAudio("Fire Hit", 6);
     return(new TimedMethod[] {
         new TimedMethod(0, "Audio", new object[] { "Laser Shot" }),
         new TimedMethod(0, "StagnantAttack", new object[] { true, answer, answer, Party.GetPlayer().GetAccuracy(), true, true, false })
     });
 }
 public override TimedMethod[] BasicAttack()
 {
     TimedMethod[] healPart = new TimedMethod[] { new TimedMethod("Null"), new TimedMethod("Null") };
     if (Attacks.EvasionCheck(Party.GetEnemy(), GetAccuracy()))
     {
         Heal(2);
         healPart = new TimedMethod[] { new TimedMethod(0, "AudioAfter", new object[] { "Heal", 15 }),
                                        new TimedMethod(0, "CharLogSprite", new object[] { "2", Party.playerSlot - 1, "healing", true }) };
     }
     TimedMethod[] attackPart;
     Attacks.SetAudio("Blunt Hit", 10);
     if (Party.BagContains(new Metronome()))
     {
         attackPart = Attacks.Attack(this, Party.GetEnemy(), strength + 3, strength + 3, GetAccuracy(), true, true, false);
     }
     else
     {
         attackPart = Attacks.Attack(this, Party.GetEnemy());
     }
     TimedMethod[] moves = new TimedMethod[attackPart.Length + 3];
     moves[0] = new TimedMethod(0, "AudioAfter", new object[] { "Small Swing", 10 });
     moves[1] = healPart[0];
     moves[2] = healPart[1];
     attackPart.CopyTo(moves, 3);
     return(moves);
 }
Пример #11
0
 public override TimedMethod[] BasicAttack()
 {
     TimedMethod[] statusPart = new TimedMethod[] { new TimedMethod("Null"), new TimedMethod("Null") };
     if (Attacks.EvasionCheck(Party.GetEnemy(), GetAccuracy()))
     {
         if (GetPoisoned())
         {
             statusPart[0] = new TimedMethod(0, "CharLogSprite", new object[] { "Cured", Party.playerSlot - 1, "poison", true });
         }
         if (GetGooped())
         {
             statusPart[1] = new TimedMethod(0, "CharLogSprite", new object[] { "Cleaned", Party.playerSlot - 1, "goop", true });
         }
         status.poisoned = 0;
         status.gooped   = false;
     }
     TimedMethod[] attackPart;
     Attacks.SetAudio("Knife", 20);
     if (Party.BagContains(new Metronome()))
     {
         attackPart = Attacks.Attack(this, Party.GetEnemy(), strength + 3, strength + 3, GetAccuracy(), true, true, false);
     }
     else
     {
         attackPart = Attacks.Attack(this, Party.GetEnemy());
     }
     TimedMethod[] moves = new TimedMethod[attackPart.Length + 3];
     moves[0] = new TimedMethod(0, "Audio", new object[] { "Knife Throw" });
     moves[1] = statusPart[0];
     moves[2] = statusPart[1];
     attackPart.CopyTo(moves, 3);
     return(moves);
 }
Пример #12
0
 public override TimedMethod[] Use()
 {
     Attacks.SetAudio("Blunt Hit", 15);
     if (Attacks.EvasionCheck(Party.GetEnemy(), Party.GetPlayer().GetAccuracy()) && Party.enemyCount > 1)
     {
         //Character second = Party.enemies[0];
         TimedMethod[] moves = new TimedMethod[Party.enemyCount + 1];
         moves[0] = new TimedMethod(0, "Audio", new object[] { "Running" });
         int index = 1;
         for (int i = 0; i < 4; i++)
         {
             if (i != Party.enemySlot - 1 && Party.enemies[i] != null && Party.enemies[i].GetAlive())
             {
                 moves[index] = new TimedMethod(0, "AttackAny", new object[] { Party.GetPlayer(), Party.enemies[i],
                                                                               Party.GetPlayer().GetStrength() / 2, (Party.GetPlayer().GetStrength() + 5) / 2, Party.GetPlayer().GetAccuracy(), true, false, false });
                 //break;
                 index++;
             }
         }
         moves[index] = new TimedMethod(0, "StagnantAttack", new object[] {
             true, Party.GetPlayer().GetStrength(), Party.GetPlayer().GetStrength() + 5, Party.GetPlayer().GetAccuracy(), true, true, false
         });
         return(moves);
     }
     else
     {
         return(new TimedMethod[] { new TimedMethod(0, "Audio", new object[] { "Running" }), new TimedMethod(0, "StagnantAttack", new object[] {
                 true, Party.GetPlayer().GetStrength(), Party.GetPlayer().GetStrength() + 5, Party.GetPlayer().GetAccuracy(), true, true, false
             }) });
     }
 }
 public override TimedMethod[] Use()
 {
     if (Attacks.EvasionCheck(Party.GetEnemy(), Party.GetPlayer().GetAccuracy()))
     {
         Party.AddItem(this);
     }
     Attacks.SetAudio("Blunt Hit", 20);
     return(new TimedMethod[] { new TimedMethod(0, "Audio", new object[] { "Big Swing" }), new TimedMethod(0, "StagnantAttack", new object[] {
             true, Party.GetPlayer().GetStrength() + 4, Party.GetPlayer().GetStrength() + 4, Party.GetPlayer().GetAccuracy(), true, true, false
         }) });
 }
Пример #14
0
 public virtual TimedMethod[] Forte()
 {
     Attacks.SetAudio("Blind", 15);
     if (Attacks.EvasionCheck(Party.GetPlayer(), GetAccuracy()))
     {
         Status.NullifyAttack(Party.GetPlayer());
     }
     return(new TimedMethod[] { new TimedMethod(60, "Log", new object[] { ToString() + " caused a forte" }),
                                new TimedMethod(0, "AudioAfter", new object[] { "Trumpet", 0 }),
                                new TimedMethod(0, "StagnantAttack", new object[] { false, 3, 3, GetAccuracy(), true, true, false }) });
 }
Пример #15
0
 public override TimedMethod[] Use()
 {
     Attacks.SetAudio("Tazer", 6);
     TimedMethod[] stunPart = new TimedMethod[] { new TimedMethod("Null"), new TimedMethod("Null") };
     if (Attacks.EvasionCheck(Party.GetEnemy(), Party.GetPlayer().GetAccuracy()))
     {
         stunPart = Party.GetEnemy().status.Stun(2);
     }
     return(new TimedMethod[] { new TimedMethod(0, "AudioNumbered", new object[] { "Attack", 1, 2 }),
                                new TimedMethod(0, "Audio", new object[] { "Button" }),
                                new TimedMethod(0, "StagnantAttack", new object[] { true, 6, 6, Party.GetPlayer().GetAccuracy(), true, true, true }), stunPart[0], stunPart[1] });
 }
    public TimedMethod[] Attack()
    {
        Attacks.SetAudio("Fire Hit", 10);
        TimedMethod debuffPart = new TimedMethod("Null");

        if (Attacks.EvasionCheck(Party.GetPlayer(), GetAccuracy()))
        {
            Party.GetPlayer().GainCharge(-4);
            debuffPart = new TimedMethod(0, "CharLogSprite", new object[] { "-4", Party.playerSlot - 1, "charge", true });
        }
        return(new TimedMethod[] { new TimedMethod(60, "Log", new object[] { ToString() + " swung heated metal" }),
                                   new TimedMethod(0, "Audio", new object[] { "Small Swing" }), debuffPart,
                                   new TimedMethod(0, "StagnantAttack", new object[] { false, 6, 6, GetAccuracy(), true, true, false }) });
    }
    public TimedMethod[] Beam()
    {
        Attacks.SetAudio("Fire Hit", 10);
        TimedMethod defPart = new TimedMethod("Null");

        if (Attacks.EvasionCheck(Party.GetPlayer(), GetAccuracy()))
        {
            Party.GetPlayer().GainDefense(-1);
            defPart = new TimedMethod(0, "CharLogSprite", new object[] { "-1", Party.playerSlot - 1, "defense", true });
        }
        return(new TimedMethod[] { new TimedMethod(60, "Log", new object[] { ToString() + " fired a beam" }),
                                   new TimedMethod(0, "Audio", new object[] { "Laser Shot" }),
                                   new TimedMethod(0, "StagnantAttack", new object[] { false, 3, 3, GetAccuracy(), true, true, false }) });
    }
    public TimedMethod[] Shock()
    {
        Attacks.SetAudio("Shock", 6);
        TimedMethod nullPart = new TimedMethod("Null");

        if (Attacks.EvasionCheck(Party.GetPlayer(), GetAccuracy()))
        {
            Status.NullifyDefense(Party.GetPlayer());
            nullPart = new TimedMethod(0, "CharLogSprite", new object[] { "def reset", Party.playerSlot - 1, "nullDefense", true });
        }
        return(new TimedMethod[] { new TimedMethod(60, "Log", new object[] { ToString() + " used electric wires" }),
                                   new TimedMethod(0, "Audio", new object[] { "Small Swing" }),
                                   new TimedMethod(0, "StagnantAttack", new object[] { false, 2, 2, GetAccuracy(), true, true, true }) });
    }
 public override TimedMethod[] Attack()
 {
     Attacks.SetAudio("Knife", 6);
     TimedMethod[] statPart = new TimedMethod[] { new TimedMethod("Null"), new TimedMethod("Null") };
     if (Attacks.EvasionCheck(Party.GetPlayer(), GetAccuracy()))
     {
         GainPower(3); Heal(10);
         statPart[0] = new TimedMethod(0, "CharLogSprite", new object[] { "3", Party.enemySlot - 1, "power", false });
         statPart[1] = new TimedMethod(0, "CharLogSprite", new object[] { "10", Party.enemySlot - 1, "healing", false });
     }
     return(new TimedMethod[] { new TimedMethod(60, "Log", new object[] { ToString() + " tried to sacrifice you" }),
                                new TimedMethod(0, "Audio", new object[] { "Small Swing" }),
                                new TimedMethod(0, "AudioAfter", new object[] { "Poison", 20 }), statPart[0], statPart[1],
                                new TimedMethod(0, "StagnantAttack", new object[] { false, 3, 3, GetAccuracy(), true, true, false }) });
 }
Пример #20
0
    public override TimedMethod[] Use()
    {
        Party.AddItem(this);
        Attacks.SetAudio("Knife", 10);
        TimedMethod statPart = new TimedMethod("Null");

        if (!Attacks.EvasionCheck(Party.GetEnemy(), Party.GetPlayer().GetAccuracy()))
        {
            Party.GetPlayer().SetCharge(Party.GetPlayer().GetCharge() + 2);
            statPart = new TimedMethod(0, "CharLogSprite", new object[] { "2", Party.playerSlot - 1, "charge", true });
        }
        return(new TimedMethod[] { new TimedMethod(0, "Audio", new object[] { "Small Swing" }), new TimedMethod(0, "StagnantAttack", new object[] {
                true, 1, 1, Party.GetPlayer().GetAccuracy(), false, false, false
            }), statPart });
    }
Пример #21
0
    public override TimedMethod[] Use()
    {
        TimedMethod statPart = new TimedMethod("Null");

        if (Attacks.EvasionCheck(Party.GetEnemy(), Party.GetPlayer().GetAccuracy()))
        {
            Status.NullifyDefense(Party.GetEnemy());
            statPart = new TimedMethod(0, "CharLogSprite", new object[] { "def reset", Party.playerSlot - 1, "nullDefense", false });
        }
        Attacks.SetAudio("Shock", 10);
        return(new TimedMethod[] { new TimedMethod(0, "Audio", new object[] { "Small Swing" }), new TimedMethod(0, "StagnantAttack", new object[] {
                true, Party.GetPlayer().GetStrength(), Party.GetPlayer().GetStrength() + 2, Party.GetPlayer().GetAccuracy(), true, true, false
            }),
                                   statPart });
    }
 public TimedMethod[] Poison()
 {
     TimedMethod[] poisonPart;
     Attacks.SetAudio("Acid", 10);
     if (Attacks.EvasionCheck(Party.GetPlayer(), GetAccuracy()))
     {
         poisonPart = Party.GetPlayer().status.Poison(1);
     }
     else
     {
         poisonPart = new TimedMethod[] { new TimedMethod("Null"), new TimedMethod("Null") };
     }
     return(new TimedMethod[] { new TimedMethod(60, "Log", new object[] { ToString() + " threw a toxic solution" }),
                                new TimedMethod(0, "Audio", new object[] { "Oil" }),
                                new TimedMethod(0, "StagnantAttack", new object[] { false, 1, 1, GetAccuracy(), true, true, false }), poisonPart[0], poisonPart[1] });
 }
Пример #23
0
 public TimedMethod[] Tazer()
 {
     Attacks.SetAudio("Tazer", 6);
     TimedMethod[] stunPart;
     if (Attacks.EvasionCheck(Party.GetPlayer(), GetAccuracy()))
     {
         stunPart = Party.GetPlayer().status.Stun(2);
     }
     else
     {
         stunPart = new TimedMethod[] { new TimedMethod("Null"), new TimedMethod("Null") };
     }
     return(new TimedMethod[] { new TimedMethod(60, "Log", new object[] { ToString() + " fired a tazer" }),
                                new TimedMethod(0, "Audio", new object[] { "Button" }),
                                new TimedMethod(0, "StagnantAttack", new object[] { false, 6, 6, GetAccuracy(), true, true, true }), stunPart[0], stunPart[1] });
 }
Пример #24
0
 public TimedMethod[] Steal()
 {
     Attacks.SetAudio("Steal", 6);
     TimedMethod[] stealPart;
     if (Attacks.EvasionCheck(Party.GetPlayer(), GetAccuracy()))
     {
         stealPart = Party.StealItem();
     }
     else
     {
         stealPart = new TimedMethod[] { new TimedMethod(0, "Log", new object[] { "" }) };
     }
     return(new TimedMethod[] { new TimedMethod(60, "Log", new object[] { ToString() + " tried to mug you" }),
                                new TimedMethod(0, "Audio", new object[] { "Small Swing" }),
                                new TimedMethod(0, "StagnantAttack", new object[] { false, 2, 5, GetAccuracy(), true, true, false }), stealPart[0] });
 }
Пример #25
0
 public TimedMethod[] Flash()
 {
     TimedMethod[] blindPart;
     if (Attacks.EvasionCheck(Party.GetPlayer(), GetAccuracy()))
     {
         blindPart = Party.GetPlayer().status.Blind(3);
     }
     else
     {
         blindPart = new TimedMethod[] { new TimedMethod("Null"), new TimedMethod("Null") };
     }
     Attacks.SetAudio("Fire Hit", 6);
     return(new TimedMethod[] { new TimedMethod(60, "Log", new object[] { ToString() + " fired photons" }),
                                new TimedMethod(0, "Audio", new object[] { "Laser Shot" }),
                                new TimedMethod(0, "StagnantAttack", new object[] { false, 2, 2, GetAccuracy(), true, true, false }), blindPart[0], blindPart[1] });
 }
Пример #26
0
 public TimedMethod[] Rocket()
 {
     TimedMethod[] stunPart;
     if (Attacks.EvasionCheck(Party.GetPlayer(), GetAccuracy() / 2))
     {
         stunPart = Party.GetPlayer().status.Stun(2);
     }
     else
     {
         stunPart = new TimedMethod[] { new TimedMethod("Null"), new  TimedMethod("Null") };
     }
     Attacks.SetAudio("Metal Hit", 30);
     return(new TimedMethod[] { new TimedMethod(60, "Log", new object[] { ToString() + " launched an erratic rocket" }),
                                new TimedMethod(0, "Audio", new object[] { "Missile" }),
                                new TimedMethod(0, "StagnantAttack", new object[] { false, 8, 8, GetAccuracy() / 2, true, true, false }), stunPart[0], stunPart[1] });
 }
Пример #27
0
    public TimedMethod[] Discharge()
    {
        Attacks.SetAudio("Shock", 15);
        TimedMethod move;
        string      message;

        if (Attacks.EvasionCheck(Party.GetPlayer(), GetAccuracy()))
        {
            move    = new TimedMethod(0, "AttackAll", new object[] { false, 3, 3, GetAccuracy(), true });
            message = ToString() + " discharged electricity";
        }
        else
        {
            move    = new TimedMethod(0, "StagnantAttack", new object[] { false, 3, 3, GetAccuracy(), true, true, false });
            message = ToString() + " discharged electricity...but just missed";
        }
        return(new TimedMethod[] { new TimedMethod(60, "Log", new object[] { message }), new TimedMethod(0, "Audio", new object[] { "Tazer" }), move });
    }
 public TimedMethod[] Fail()
 {
     test = 0;
     Party.GetPlayer().status.gooped = false;
     Party.enemySlot  = 1;
     Party.enemies[1] = null;
     TimedMethod[] apathyPart;
     if (Attacks.EvasionCheck(Party.GetPlayer(), GetAccuracy() * 2))
     {
         apathyPart = Party.GetPlayer().status.CauseApathy(3);
     }
     else
     {
         apathyPart = new TimedMethod[] { new TimedMethod(0, "Log", new object[] { "" }) };
     }
     return(new TimedMethod[] { new TimedMethod(0, "EnemySwitch", new object[] { 1, 2 }),
                                new TimedMethod(60, "Log", new object[] { ToString() + " gave the price for failure" }),
                                new TimedMethod(60, "Log", new object[] { false, 10, 10, GetAccuracy() * 2, true, true, false }), apathyPart[0] });
 }
 public TimedMethod[] Slime()
 {
     TimedMethod[] goopPart;
     TimedMethod[] blindPart;
     Attacks.SetAudio("Slime", 10);
     if (Attacks.EvasionCheck(Party.GetPlayer(), GetAccuracy()))
     {
         goopPart  = Party.GetPlayer().status.Goop();
         blindPart = Party.GetPlayer().status.Blind(3);
     }
     else
     {
         goopPart  = new TimedMethod[] { new TimedMethod("Null"), new TimedMethod("Null") };
         blindPart = new TimedMethod[] { new TimedMethod("Null"), new TimedMethod("Null") };
     }
     return(new TimedMethod[] { new TimedMethod(60, "Log", new object[] { ToString() + " threw a slime solution" }),
                                new TimedMethod(0, "Audio", new object[] { "Missile" }), new TimedMethod(0, "AudioAfter", new object[] { "Glass Break", 20 }),
                                new TimedMethod(0, "StagnantAttack", new object[] { false, 1, 1, GetAccuracy(), true, true, false }),
                                goopPart[0], goopPart[1], blindPart[0], blindPart[1] });
 }
    public TimedMethod[] Foul()
    {
        TimedMethod[] stunPart;
        TimedMethod   statPart = new TimedMethod("Null");

        if (Attacks.EvasionCheck(Party.GetPlayer(), GetAccuracy()))
        {
            Party.GetPlayer().GainDefense(-1);
            statPart = new TimedMethod(0, "CharLogSprite", new object[] { "-1", Party.playerSlot - 1, "defense", true });
            stunPart = Party.GetPlayer().status.Stun(2);
        }
        else
        {
            stunPart = new TimedMethod[] { new TimedMethod("Null"), new TimedMethod("Null") };
        }
        Attacks.SetAudio("Slap", 10);
        return(new TimedMethod[] { new TimedMethod(60, "Log", new object[] { "The " + ToString() + " committed a foul " }),
                                   new TimedMethod(0, "Audio", new object[] { "Big Swing" }),
                                   new TimedMethod(0, "StagnantAttack", new object[] { false, 2, 2, GetAccuracy(), true, true, false }), statPart, stunPart[0], stunPart[1] });
    }