Exemplo n.º 1
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);
    }
    public override TimedMethod[] Use()
    {
        Character self = Party.GetPlayer();

        self.GainPower(1); self.GainDefense(1);
        self.GainCharge(2); self.GainGuard(2);
        Democracy castPassive = (Democracy)self.GetPassive();

        if (castPassive.promise == 0)
        {
            castPassive.promise = 2;
        }
        return(new TimedMethod[] { new TimedMethod(0, "Audio", new object[] { "Recruit" }),
                                   new TimedMethod(60, "Log", new object[] { self.ToString() + " promised action" }),
                                   new TimedMethod(0, "CharLogSprite", new object[] { "1", Party.playerSlot - 1, "power", true }),
                                   new TimedMethod(0, "CharLogSprite", new object[] { "1", Party.playerSlot - 1, "defense", true }),
                                   new TimedMethod(0, "CharLogSprite", new object[] { "2", Party.playerSlot - 1, "charge", true }),
                                   new TimedMethod(0, "CharLogSprite", new object[] { "2", Party.playerSlot - 1, "guard", true }) });
    }
Exemplo n.º 3
0
    public override TimedMethod[] AI()
    {
        System.Random rng         = new System.Random();
        int           num         = rng.Next(10);
        Democracy     castPassive = (Democracy)passive;

        if (num < 4 || castPassive.promise == 1)
        {
            castPassive.promise = 0;
            return(Attack());
        }
        else if (num < 8)
        {
            castPassive.promise = 2;
            return(Campaign());
        }
        else
        {
            return(Debate());
        }
    }
Exemplo n.º 4
0
 public PoliticalScientist()
 {
     health       = 21; maxHP = 21; strength = 3; power = 0; charge = 0; defense = 0; guard = 0;
     baseAccuracy = 13; accuracy = 13; dexterity = 4; evasion = 0; type = "Political Science Major"; passive = new Democracy(this);
     quirk        = Quirk.GetQuirk(this); special = new Campaign(); special2 = new Filibuster();
     player       = false; champion = false; recruitable = true; CreateDrops(); attackEffect = "chance to stun";
 }