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); }
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"); }
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); }