Allow solutions to store extra reagent data (#19323)
This commit is contained in:
@@ -81,7 +81,7 @@ public sealed class GeneratorSystem : SharedGeneratorSystem
|
||||
|
||||
foreach (var reagentQuantity in solution)
|
||||
{
|
||||
if (reagentQuantity.ReagentId != component.Reagent)
|
||||
if (reagentQuantity.Reagent.Prototype != component.Reagent)
|
||||
{
|
||||
args.Clogged = true;
|
||||
return;
|
||||
@@ -94,7 +94,7 @@ public sealed class GeneratorSystem : SharedGeneratorSystem
|
||||
if (!_solutionContainer.TryGetSolution(uid, component.Solution, out var solution))
|
||||
return;
|
||||
|
||||
var availableReagent = solution.GetReagentQuantity(component.Reagent).Value;
|
||||
var availableReagent = solution.GetTotalPrototypeQuantity(component.Reagent).Value;
|
||||
var toRemove = RemoveFractionalFuel(
|
||||
ref component.FractionalReagent,
|
||||
args.FuelUsed,
|
||||
@@ -112,8 +112,8 @@ public sealed class GeneratorSystem : SharedGeneratorSystem
|
||||
if (!_solutionContainer.TryGetSolution(uid, component.Solution, out var solution))
|
||||
return;
|
||||
|
||||
var reagent = component.FractionalReagent * FixedPoint2.Epsilon.Float()
|
||||
+ solution.GetReagentQuantity(component.Reagent).Float();
|
||||
var availableReagent = solution.GetTotalPrototypeQuantity(component.Reagent).Float();
|
||||
var reagent = component.FractionalReagent * FixedPoint2.Epsilon.Float() + availableReagent;
|
||||
args.Fuel = reagent * component.Multiplier;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user