public override void FormatLong(StringBuilder builder)
    {
        if (MesLineId < 1000)
        {
            builder.Append(GameSystems.MapObject.GetDisplayNameForParty(obj));
            builder.Append("  ");
            builder.Append(GameSystems.RollHistory.GetTranslation(MesLineId));
        }
        else
        {
            var skillId        = (SkillId)(MesLineId - 1000);
            var skillHelpTopic = GameSystems.Skill.GetHelpTopic(skillId);
            var skillName      = GameSystems.Skill.GetSkillName(skillId);

            builder.Append(GameSystems.MapObject.GetDisplayNameForParty(obj));
            builder.Append("  ~");
            builder.Append(skillName);
            builder.Append("~[");
            builder.Append(skillHelpTopic);
            builder.Append("]");
        }

        builder.Append("\n\n\n");

        BonusList.FormatTo(builder);
        builder.Append("\n\n");

        AppendOverallBonus(builder, BonusList.OverallBonus);
    }
    public override void FormatLong(StringBuilder builder)
    {
        AppendHeader(builder);

        builder.Append(GameSystems.RollHistory.GetTranslation(32)); // Bonus
        builder.Append("\n");
        bonlist.FormatTo(builder);
        builder.Append("\n\n");

        int overallBonus = bonlist.OverallBonus;

        AppendOverallBonus(builder, overallBonus);

        AppendOutcome(builder, overallBonus);
    }
예제 #3
0
    public override void FormatLong(StringBuilder builder)
    {
        AppendHeader(builder);
        builder.Append("\n\n\n\n");

        builder.Append(GameSystems.RollHistory.GetTranslation(28)); // Attacker
        builder.Append('\n');

        bonusList.FormatTo(builder);

        var overallBonus = bonusList.OverallBonus;

        AppendOverallBonus(builder, overallBonus);

        AppendOutcome(builder, overallBonus);
    }
    private void AppendAttackBonus(StringBuilder builder, out int overallBonus)
    {
        builder.Append(GameSystems.RollHistory.GetTranslation(3)); // Attack Bonus
        builder.Append('\n');

        bonlist.FormatTo(builder);

        overallBonus = bonlist.OverallBonus;
        if (overallBonus >= 0)
        {
            builder.Append('+');
        }

        builder.Append(overallBonus);
        builder.Append("   ");
        builder.Append(GameSystems.RollHistory.GetTranslation(2)); // Total
        builder.Append("\n\n\n");
    }
예제 #5
0
    public override void FormatLong(StringBuilder builder)
    {
        AppendHeader(builder);
        builder.Append('\n');

        attackBonus.FormatTo(builder);

        var overallBonus = attackBonus.OverallBonus;

        AppendOverallBonus(builder, overallBonus);
        builder.Append("\n\n\n");

        builder.Append(GameSystems.RollHistory.GetTranslation(5));
        builder.Append(' ');
        builder.Append(attackRoll);
        builder.Append(" + ");
        builder.Append(overallBonus);
        builder.Append(" = ");
        builder.Append(attackRoll + overallBonus);
        builder.Append(' ');
        builder.Append(GameSystems.RollHistory.GetTranslation(24)); // Vs
        builder.Append(" ~");
        builder.Append(GameSystems.RollHistory.GetTranslation(33)); // AC
        builder.Append(' ');
        builder.Append(armorClass);
        builder.Append("~[ROLL_");
        builder.Append(armorClassDetails.histId);
        builder.Append("]");

        if ((caf & D20CAF.HIT) != 0)
        {
            builder.Append(GameSystems.RollHistory.GetTranslation(6));
            if ((caf & D20CAF.DEFLECT_ARROWS) != 0)
            {
                builder.Append(' ');
                if ((caf & (D20CAF.HIT | D20CAF.CRITICAL)) != 0)
                {
                    // TODO: Bit weird that the critical flag would indicate unsuccessfuly deflect arrows...?
                    builder.Append(GameSystems.RollHistory.GetTranslation(7)); // Deflect arrows unsuccessful
                }
                else
                {
                    builder.Append(GameSystems.RollHistory.GetTranslation(8)); // Deflect arrows successful
                }
            }
        }
        else
        {
            builder.Append(GameSystems.RollHistory.GetTranslation(9));
        }

        builder.Append('\n');

        if (criticalConfirmRoll > 0)
        {
            AppendCritical(builder, overallBonus);
            builder.Append("\n");
        }

        AppendTouchAttackLine(builder);
    }