Exemplo n.º 1
0
 public void Step(BattleMessageType message = BattleMessageType.StandardTurnMessage, Battler actor = default(Battler), BattlerAction action = BattlerAction.None)
 {
     _clear = false;
     messageQueue.Enqueue(message);
     actorQueue.Enqueue(actor);
     actionQueue.Enqueue(action);
 }
Exemplo n.º 2
0
    private void NextMessage()
    {
        timer = 0;
        BattleMessageType message = messageQueue.Dequeue();
        Battler           actor   = actorQueue.Dequeue();
        BattlerAction     action  = actionQueue.Dequeue();
        bool drawToLine1          = true;

        if (line0 == "")
        {
            drawToLine1 = false;
        }
        else if (line1 != "")
        {
            line0 = line1;
        }
        string baseLine;
        string nextLine = "";

        switch (message)
        {
        case BattleMessageType.StandardTurnMessage:
            if (actor == null)
            {
                throw new System.Exception("Can't do standard turn message with null battler!");
            }
            if (overseer.standardActionPriorityBracket)
            {
                baseLine = mainStrings[0];
            }
            else
            {
                baseLine = mainStrings[1];
            }
            if (overseer.currentActingBattler.isEnemy)
            {
                nextLine = actor.adventurer.title + baseLine + actionNameStrings[(int)action];
            }
            else
            {
                nextLine = actor.adventurer.fullName + baseLine + actionNameStrings[(int)action];
            }
            break;

        case BattleMessageType.Silence:
            nextLine = mainStrings[3];
            break;

        case BattleMessageType.ShieldWall:
            nextLine = mainStrings[4];
            break;

        case BattleMessageType.ShieldBlock:
            nextLine = mainStrings[5];
            break;

        case BattleMessageType.Heal:
            nextLine = mainStrings[6];
            break;

        case BattleMessageType.Haste:
            nextLine = mainStrings[7];
            break;

        case BattleMessageType.Barrier:
            nextLine = mainStrings[8];
            break;

        case BattleMessageType.MultiHeal:
            nextLine = mainStrings[9];
            break;

        case BattleMessageType.Encore:
            nextLine = mainStrings[10];
            break;

        case BattleMessageType.Feedback:
            nextLine = mainStrings[11];
            break;

        case BattleMessageType.Revenge:
            nextLine = mainStrings[12];
            break;

        case BattleMessageType.Critical:
            nextLine = mainStrings[13];
            break;

        case BattleMessageType.SavedAlly:
            nextLine = mainStrings[14];
            break;

        case BattleMessageType.Flanking:
            nextLine = mainStrings[15];
            break;

        case BattleMessageType.SomebodyDead:
            Battler bat = corpseQueue.Dequeue();
            if (bat.isEnemy)
            {
                nextLine = bat.adventurer.title + mainStrings[2];
            }
            else
            {
                nextLine = bat.adventurer.fullName + mainStrings[2];
            }
            break;

        case BattleMessageType.Win:
            nextLine = mainStrings[16];
            break;

        case BattleMessageType.Loss:
            nextLine = mainStrings[17];
            break;

        case BattleMessageType.Retreat:
            nextLine = mainStrings[18];
            break;

        case BattleMessageType.FailedCast:
            if (overseer.currentActingBattler.isEnemy)
            {
                nextLine = actor.adventurer.title + mainStrings[19];
            }
            else
            {
                nextLine = actor.adventurer.fullName + mainStrings[19];
            }
            break;

        case BattleMessageType.PulledOutOfBattle:
            nextLine = actor.adventurer.fullName + mainStrings[20];
            break;

        case BattleMessageType.ReenteredBattle:
            nextLine = actor.adventurer.fullName + mainStrings[21];
            break;

        case BattleMessageType.StunBuff:
            nextLine = mainStrings[22];
            break;

        case BattleMessageType.StunBuffFaded:
            nextLine = mainStrings[23];
            break;

        case BattleMessageType.Stun:
            nextLine = mainStrings[24];
            break;

        case BattleMessageType.PumpedUp:
            nextLine = mainStrings[25];
            break;

        case BattleMessageType.MovesBetweenLines:
            nextLine = mainStrings[26];
            break;

        case BattleMessageType.SwiftlyMovesBetweenLines:
            nextLine = mainStrings[27];
            break;

        case BattleMessageType.AttunedBuff:
            nextLine = mainStrings[28];
            break;

        case BattleMessageType.AttunedBuffFaded:
            nextLine = mainStrings[29];
            break;

        case BattleMessageType.Dodged:
            nextLine = mainStrings[30];
            break;

        case BattleMessageType.DrainKill:
            nextLine = mainStrings[31];
            break;

        case BattleMessageType.FailedToDrain:
            nextLine = mainStrings[32];
            break;

        case BattleMessageType.MagBoost:
            nextLine = mainStrings[33];
            break;

        case BattleMessageType.StatBoostsLost:
            nextLine = mainStrings[34];
            break;

        case BattleMessageType.SacrificeLost:
            nextLine = mainStrings[35];
            break;

        case BattleMessageType.Sacrifice:
            nextLine = mainStrings[36];
            break;

        case BattleMessageType.StunnedNoMove:
            if (overseer.currentActingBattler.isEnemy)
            {
                nextLine = actor.adventurer.title + mainStrings[37];
            }
            else
            {
                nextLine = actor.adventurer.fullName + mainStrings[37];
            }
            break;
        }
        if (drawToLine1)
        {
            line1 = nextLine;
        }
        else
        {
            line0 = nextLine;
        }
        uiText.text = line0 + System.Environment.NewLine + line1;
    }