Fix Rolemaster low-end open roll math

This commit is contained in:
2026-04-03 00:58:07 +02:00
parent 0059fde74f
commit 960197354a
5 changed files with 35 additions and 14 deletions

View File

@@ -54,9 +54,9 @@ public sealed class RolemasterApiTests : ApiTestBase
var logPage = await GetAsync<CampaignLogPage>(client, $"/api/campaigns/{campaign.Id}/log/page?limit=5");
var detail = await GetAsync<CampaignRollDetail>(client, $"/api/rolls/{roll.RollId}");
Assert.Equal(-119, roll.Result);
Assert.Equal("5-(97+100+12)+85=-119", roll.Breakdown);
Assert.Equal("5 - (97 + 100 + 12) | open-ended low", Assert.Single(logPage.Entries).SummaryText);
Assert.Equal(-124, roll.Result);
Assert.Equal("(05) -97 -100 -12 +85 = -124", roll.Breakdown);
Assert.Equal("(05) -97 -100 -12 | open-ended low", Assert.Single(logPage.Entries).SummaryText);
Assert.Equal(roll.Breakdown, detail.Breakdown);
Assert.Collection(
detail.Dice,
@@ -64,7 +64,7 @@ public sealed class RolemasterApiTests : ApiTestBase
{
Assert.Equal(RollDieKinds.RolemasterOpenEndedInitial, die.Kind);
Assert.Equal(1, die.Sequence);
Assert.Equal(5, die.SignedContribution);
Assert.Null(die.SignedContribution);
},
die =>
{

View File

@@ -127,9 +127,9 @@ public sealed class ServiceRolemasterRollTests
var roll = ServiceTestSupport.GetValue(service.RollSkill(session, skill.Id, "public"));
var logPage = ServiceTestSupport.GetValue(service.GetCampaignLogPage(session, campaign.Id, limit: 5));
Assert.Equal(-119, roll.Result);
Assert.Equal("5-(97+100+12)+85=-119", roll.Breakdown);
Assert.Equal("5 - (97 + 100 + 12) | open-ended low", Assert.Single(logPage.Entries).SummaryText);
Assert.Equal(-124, roll.Result);
Assert.Equal("(05) -97 -100 -12 +85 = -124", roll.Breakdown);
Assert.Equal("(05) -97 -100 -12 | open-ended low", Assert.Single(logPage.Entries).SummaryText);
Assert.Collection(
roll.Dice,
die =>
@@ -137,7 +137,7 @@ public sealed class ServiceRolemasterRollTests
Assert.Equal(5, die.Roll);
Assert.Equal(1, die.Sequence);
Assert.Equal(RollDieKinds.RolemasterOpenEndedInitial, die.Kind);
Assert.Equal(5, die.SignedContribution);
Assert.Null(die.SignedContribution);
},
die =>
{