Examine prediction (#23565)

* Initial prediction

* new group handling

* groups for all examines that use multiple rn

* compile

* why was it doing this??

* handle newlines with sorting properly
This commit is contained in:
Kara
2024-01-05 23:53:13 -07:00
committed by GitHub
parent 731cfc278a
commit 0ae3858b69
41 changed files with 693 additions and 431 deletions

View File

@@ -46,7 +46,7 @@ namespace Content.Server.Construction.Conditions
if (entityManager.EntitySysManager.GetEntitySystem<MachineFrameSystem>().IsComplete(machineFrame))
return false;
args.Message.AddMarkup(Loc.GetString("construction-condition-machine-frame-requirement-label") + "\n");
args.PushMarkup(Loc.GetString("construction-condition-machine-frame-requirement-label"));
foreach (var (part, required) in machineFrame.Requirements)
{
var amount = required - machineFrame.Progress[part];
@@ -54,10 +54,9 @@ namespace Content.Server.Construction.Conditions
if(amount == 0)
continue;
args.Message.AddMarkup(Loc.GetString("construction-condition-machine-frame-required-element-entry",
args.PushMarkup(Loc.GetString("construction-condition-machine-frame-required-element-entry",
("amount", amount),
("elementName", Loc.GetString(part)))
+ "\n");
("elementName", Loc.GetString(part))));
}
foreach (var (material, required) in machineFrame.MaterialRequirements)
@@ -67,10 +66,9 @@ namespace Content.Server.Construction.Conditions
if(amount == 0)
continue;
args.Message.AddMarkup(Loc.GetString("construction-condition-machine-frame-required-element-entry",
args.PushMarkup(Loc.GetString("construction-condition-machine-frame-required-element-entry",
("amount", amount),
("elementName", Loc.GetString(material)))
+ "\n");
("elementName", Loc.GetString(material))));
}
foreach (var (compName, info) in machineFrame.ComponentRequirements)
@@ -80,10 +78,9 @@ namespace Content.Server.Construction.Conditions
if(amount == 0)
continue;
args.Message.AddMarkup(Loc.GetString("construction-condition-machine-frame-required-element-entry",
args.PushMarkup(Loc.GetString("construction-condition-machine-frame-required-element-entry",
("amount", info.Amount),
("elementName", Loc.GetString(info.ExamineName)))
+ "\n");
("elementName", Loc.GetString(info.ExamineName))));
}
foreach (var (tagName, info) in machineFrame.TagRequirements)
@@ -93,10 +90,10 @@ namespace Content.Server.Construction.Conditions
if(amount == 0)
continue;
args.Message.AddMarkup(Loc.GetString("construction-condition-machine-frame-required-element-entry",
("amount", info.Amount),
("elementName", Loc.GetString(info.ExamineName)))
+ "\n");
args.PushMarkup(Loc.GetString("construction-condition-machine-frame-required-element-entry",
("amount", info.Amount),
("elementName", Loc.GetString(info.ExamineName)))
+ "\n");
}
return true;