Example #1
0
 public TimedMethod[] CheckLead()
 {
     TimedMethod[] messages = new TimedMethod[0];
     TimedMethod[] temp;
     if (poisoned > 0)
     {
         self.SetHealth(System.Math.Max(self.GetHealth() - poisoned, 0));
         temp = new TimedMethod[messages.Length + 2];
         messages.CopyTo(temp, 0);
         temp[messages.Length]     = new TimedMethod(0, "Audio", new object[] { "Poison Damage" });
         temp[messages.Length + 1] = new TimedMethod(
             0, "CharLogSprite", new object[] { poisoned.ToString() + " poison", self.partyIndex, "poison", self.GetPlayer() });
         messages = temp;
         if (self.GetHealth() == 0)
         {
             TimedMethod[] dead = Party.CheckDeath();
             temp = new TimedMethod[messages.Length + dead.Length];
             messages.CopyTo(temp, 0);
             dead.CopyTo(temp, messages.Length);
             messages = temp;
             return(messages);
         }
     }
     if (apathetic > 0)
     {
         if (rng.Next(10) < 3)
         {
             passing = true;
             apathetic--;
             temp = new TimedMethod[messages.Length + 1];
             messages.CopyTo(temp, 0);
             temp[messages.Length] = new TimedMethod(60, "Log", new object[] { self.ToString() + " struggled to care" });
             messages = temp;
         }
     }
     if (possessed > 0)
     {
         temp = new TimedMethod[messages.Length + 1];
         messages.CopyTo(temp, 0);
         temp[messages.Length] = new TimedMethod(60, "SwitchTo", new object[] { 1 });
         messages = temp;
     }
     TimedMethod[] regular = Check();
     temp = new TimedMethod[messages.Length + regular.Length];
     messages.CopyTo(temp, 0);
     regular.CopyTo(temp, messages.Length);
     messages = temp;
     return(messages);
 }
    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);
        }
    }
Example #3
0
 public override TimedMethod[] Use()
 {
     Attacks.SetAudio("Knife", 30);
     TimedMethod[] blindPart;
     if (Party.GetPlayer().GetAccuracy() > Party.GetEnemy().GetEvasion())
     {
         blindPart = Party.GetEnemy().status.Blind(7);
     }
     else
     {
         blindPart = new TimedMethod[] { new TimedMethod("Null"), new TimedMethod("Null") };
     }
     TimedMethod[] attackPart = 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
         }) };
     TimedMethod[] total = new TimedMethod[4];
     attackPart.CopyTo(total, 0);
     blindPart.CopyTo(total, 2);
     return(total);
 }
Example #4
0
    public TimedMethod[] Check()
    {
        string message = "";

        TimedMethod[] messages = new TimedMethod[0];
        TimedMethod[] temp;
        if (caffeine > 0)
        {
            caffeine--;
            if (caffeine == 0)
            {
                //self.SetPower(self.GetPower() - 10); self.GainAccuracy(-10);
                caffeine = -5;
                temp     = new TimedMethod[messages.Length + 1];
                messages.CopyTo(temp, 0);
                temp[messages.Length] = new TimedMethod(60, "Log", new object[] { self.ToString() + " crashed" });
                messages = temp;
            }
        }
        else if (caffeine < 0)
        {
            caffeine++;
            if (caffeine == 0)
            {
                //self.SetPower(self.GetPower() + 5); self.GainAccuracy(5);
                temp = new TimedMethod[messages.Length + 1];
                messages.CopyTo(temp, 0);
                temp[messages.Length] = new TimedMethod(60, "Log", new object[] { self.ToString() + " recovered" });
                messages = temp;
            }
        }
        if (regeneration > 0)
        {
            self.Heal(regeneration);
            temp = new TimedMethod[messages.Length + 1];
            messages.CopyTo(temp, 0);
            temp[messages.Length] = new TimedMethod(
                0, "CharaLogSprite", new object[] { regeneration.ToString(), self.partyIndex, "regeneration", self.GetPlayer() });
            messages = temp;
        }
        if (blinded > 0)
        {
            blinded--;
        }
        if (asleep > 0)
        {
            int threshold = rng.Next(6) + 1;
            if (waking || threshold <= asleep)
            {
                asleep = 0; waking = false;
                temp   = new TimedMethod[messages.Length + 1];
                messages.CopyTo(temp, 0);
                temp[messages.Length] = new TimedMethod(60, "Log", new object[] { self.ToString() + " woke up" });
                messages = temp;
            }
            else
            {
                asleep++;
                temp = new TimedMethod[messages.Length + 1];
                messages.CopyTo(temp, 0);
                temp[messages.Length] = new TimedMethod(60, "Log", new object[] { self.ToString() + " is asleep" });
                messages = temp;
            }
        }
        if (possessed > 0)
        {
            possessed--;
            if (possessed == 0)
            {
                temp = new TimedMethod[messages.Length + 1];
                messages.CopyTo(temp, 0);
                temp[messages.Length] = new TimedMethod(60, "Log", new object[] { self.ToString() + " got a hold of themself" });
                messages = temp;
            }
            else
            {
                temp = new TimedMethod[messages.Length + 2];
                messages.CopyTo(temp, 0);
                temp[messages.Length]     = new TimedMethod(60, "Log", new object[] { self.ToString() + " attacked " + Party.GetPlayer().ToString() });
                temp[messages.Length + 1] = new TimedMethod(0, "AttackAny", new object[] {
                    self, Party.GetPlayer(), self.GetStrength(), self.GetStrength(), self.GetAccuracy(), true, true, false
                });
                messages = temp;
            }
        }
        if (stunned > 0)
        {
            stunned--;
            if (stunned > 0)
            {
                temp = new TimedMethod[messages.Length + 1];
                messages.CopyTo(temp, 0);
                temp[messages.Length] = new TimedMethod(60, "Log", new object[] { self.ToString() + " is stunned" });
                messages = temp;
            }
        }
        if (passing == true)
        {
            //passing = false;
            temp = new TimedMethod[messages.Length + 1];
            messages.CopyTo(temp, 0);
            temp[messages.Length] = new TimedMethod(60, "Log", new object[] { self.ToString() + " skipped their turn" });
            messages = temp;
        }
        return(messages);
    }