Skip to content

Commit

Permalink
Allow many turns around avoid locations
Browse files Browse the repository at this point in the history
  • Loading branch information
joelverhagen committed Jan 17, 2024
1 parent eee8dcf commit cf56ef4
Show file tree
Hide file tree
Showing 4 changed files with 409 additions and 3 deletions.
2 changes: 1 addition & 1 deletion src/FactorioTools/OilField/Steps/AddPipes.1.FBE.cs
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@ private static (IReadOnlyList<TerminalLocation> Terminals, ILocationSet Pipes, P
{
return DelaunayTriangulation(context, middle, PipeStrategy.Fbe);
}
else if (strategy == PipeStrategy.FbeOriginal || maxTurns > 4)
else if (strategy == PipeStrategy.FbeOriginal || maxTurns > maxTries)
{
throw new FactorioToolsException("There should be at least one connection between a leftover pumpjack and the final group. Max turns: " + maxTurns);
}
Expand Down
2 changes: 1 addition & 1 deletion src/lua/FactorioTools/AddPipes_0.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1365,7 +1365,7 @@ System.namespace("Knapcode.FactorioTools.OilField", function (namespace)
-- Related to https://github.com/teoxoy/factorio-blueprint-editor/issues/253
if strategy == 0 --[[PipeStrategy.FbeOriginal]] then
return DelaunayTriangulation(context, middle, 1 --[[PipeStrategy.Fbe]])
elseif strategy == 0 --[[PipeStrategy.FbeOriginal]] or maxTurns > 4 then
elseif strategy == 0 --[[PipeStrategy.FbeOriginal]] or maxTurns > maxTries then
System.throw(KnapcodeFactorioTools.FactorioToolsException("There should be at least one connection between a leftover pumpjack and the final group. Max turns: " .. maxTurns))
end

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
 FBE* -> FBE* (effects: 37, beacons: 34, pipes: 29)
FBE* -> snug (effects: 38, beacons: 35, pipes: 29)
FBE* -> optimize -> FBE* (effects: 37, beacons: 34, pipes: 25)
FBE* -> optimize -> snug (effects: 37, beacons: 34, pipes: 25)
CC-DT -> FBE* (effects: 36, beacons: 33, pipes: 31)
CC-DT -> snug (effects: 37, beacons: 34, pipes: 31)
CC-DT -> optimize -> FBE* (effects: 37, beacons: 34, pipes: 24)
CC-DT -> optimize -> snug (effects: 37, beacons: 34, pipes: 24)
CC-DT-MST -> FBE* (effects: 38, beacons: 35, pipes: 30)
CC-DT-MST -> snug (effects: 37, beacons: 35, pipes: 30)
S CC-DT-MST -> optimize -> FBE* (effects: 40, beacons: 36, pipes: 20)
CC-DT-MST -> optimize -> snug (effects: 37, beacons: 34, pipes: 20)
CC-FLUTE -> FBE* (effects: 38, beacons: 35, pipes: 30)
CC-FLUTE -> snug (effects: 37, beacons: 35, pipes: 30)
S CC-FLUTE -> optimize -> FBE* (effects: 40, beacons: 36, pipes: 20)
CC-FLUTE -> optimize -> snug (effects: 37, beacons: 34, pipes: 20)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . E . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . b b b b b b . b b b b b b . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . b B b b B b . b B b b B b . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . b b b b b b . b b b b b b . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . X X X . . . . . . b b b . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . X X X . . . . . E b B b . . . . . . . . . . . . .
. . . . . . . . . . . . . . b b b b b b . . X X X X . j j j . . b b b . . . . . . . . . . . . .
. . . . . . . . . . . . . . b B b b B b . . X X X X . j J j . . b b b . . . . . . . . . . . . .
. . . . . . . . . . . . . . b b b b b b . . X X X X . j j j . . b B b E . . . . . . . . . . . .
. . . . . . . . . . . . . . b b b E . . E . . X X X . + . . . . b b b . . . . . . . . . . . . .
. . . . . . . . . . . . . . b B b o < . > + < . . . > o < . . > o . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . b b b ^ . j j j b b b . . . . b b b ^ . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . E . . . j J j b B b X X . . b B b b b b b b b E . . . . . . . . .
. . . . . . . . . . . . . . b b b . . j j j b b b X X . . b b b b B b b B b . . . . . . . . . .
. . . . . . . . . . . . . . b B b . . . . b b b E X X X b b b . b b b b b b . . . . . . . . . .
. . . . . . . . . . . . . . b b b b b b . b B b X X X X b B b E . . . b b b . . . . . . . . . .
. . . . . . . . . . . . . . b b b b B b . b b b X X X X b b b . v . X b B b . . . . . . . . . .
. . . . . . . . . . E . . . b B b b b b . . . X X X X b b b j j j . X b b b . . . . . . . . . .
. . . . . . . . . b b b . . b b b . b b b . X X X X X b B b j J j . X . E . . . . . . . . . . .
. . . . . . . . . b B b b b b . E . b B b X X X X X X b b b j j j . . b b b . . . . . . . . . .
. . . . . . . . . b b b b B b . . . b b b X X X X X X X . . . . . . X b B b . . . . . . . . . .
. . . . . . . . . b b b b b b . . v b b b X X X X X X X X X X X X X X b b b . . . . . . . . . .
. . . . . . . . E b B b . . . . . o b B b X X X X X X X X X X X X X X b b b . . . . . . . . . .
. . . . . . . . . b b b . . j j j + b b b X X X X X X X X X X X X X X b B b . . . . . . . . . .
. . . . . . . . . . . . . . j J j ^ . . . X X X X X X X X X X X X X X b b b . . . . . . . . . .
. . . . . . . . . b b b . . j j j . . . X X X X X X X X X X X X X X X . E . . . . . . . . . . .
. . . . . . . . . b B b . . . b b b . . X X X X X X X X X X X X X X X . . . . . . . . . . . . .
. . . . . . . . . b b b . E . b B b . X X X X X X X X X X X X X X X X . . . . . . . . . . . . .
. . . . . . . . . b b b b b b b b b X X X X X X X X X X X X X X . X X . . . . . . . . . . . . .
. . . . . . . . . b B b b B b . . . X X X X X X X X X X X X X . . . . . . . . . . . . . . . . .
. . . . . . . . . b b b b b b . . v X X X X X X X X X X X X X . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . j j j + X X X X X X X X X X X X X X . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . j J j . . X X X X X X X X X X X X X . . . . . . . . . . . . . . . .
. . . . . . . . . b b b . . j j j . . . X X . X X X X X X X X X . . . . . . . . . . . . . . . .
. . . . . . . . . b B b E . . . X X X . X X X X X X X X X X X X . . . . . . . . . . . . . . . .
. . . . . . . . . b b b . X X X X X X X X X X X X X X X X X X X . . . . . . . . . . . . . . . .
. . . . . . . . . b b b b b b . b b b b b b . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . b B b b B b . b B b b B b . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . b b b b b b . b b b b b b . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Loading

0 comments on commit cf56ef4

Please sign in to comment.