diff --git a/pkg/extractor/v71/extracts.go b/pkg/extractor/v71/extracts.go
index c68e73d4..2605c844 100644
--- a/pkg/extractor/v71/extracts.go
+++ b/pkg/extractor/v71/extracts.go
@@ -439,7 +439,7 @@ func extractTechs(pageHTML []byte) (supplies ogame.ResourcesBuildings, facilitie
AssemblyLine: res.Num13101,
FusionCellFactory: res.Num13102,
RoboticsResearchCentre: res.Num13103,
- UpdateNetwork: res.Num12304,
+ UpdateNetwork: res.Num13104,
QuantumComputerCentre: res.Num13105,
AutomatisedAssemblyCentre: res.Num13106,
HighPerformanceTransformer: res.Num13107,
diff --git a/pkg/extractor/v9/extractor.go b/pkg/extractor/v9/extractor.go
index 8ba61259..67ca3a60 100644
--- a/pkg/extractor/v9/extractor.go
+++ b/pkg/extractor/v9/extractor.go
@@ -78,7 +78,7 @@ func (e *Extractor) ExtractOverviewProduction(pageHTML []byte) ([]ogame.Quantifi
// ExtractOverviewProductionFromDoc extracts ships/defenses (partial) production from the overview page
func (e *Extractor) ExtractOverviewProductionFromDoc(doc *goquery.Document) ([]ogame.Quantifiable, error) {
- return extractOverviewProductionFromDoc(doc)
+ return extractOverviewProductionFromDoc(doc, e.GetLifeformEnabled())
}
// ExtractEspionageReport ...
diff --git a/pkg/extractor/v9/extractor_test.go b/pkg/extractor/v9/extractor_test.go
index c67b7d73..b6291024 100644
--- a/pkg/extractor/v9/extractor_test.go
+++ b/pkg/extractor/v9/extractor_test.go
@@ -215,3 +215,13 @@ func TestExtractTechnologyDetails(t *testing.T) {
details, _ = NewExtractor().ExtractTechnologyDetails(pageHTMLBytes)
assert.True(t, details.TearDownEnabled)
}
+
+func TestExtractOverviewProduction_ships(t *testing.T) {
+ pageHTMLBytes, _ := ioutil.ReadFile("../../../samples/v9.0.5/en/overview_ships.html")
+ prod, _, _ := NewExtractor().ExtractOverviewProduction(pageHTMLBytes)
+ assert.Equal(t, 2, len(prod))
+ assert.Equal(t, ogame.SmallCargoID, prod[0].ID)
+ assert.Equal(t, int64(1), prod[0].Nbr)
+ assert.Equal(t, ogame.SmallCargoID, prod[1].ID)
+ assert.Equal(t, int64(1), prod[1].Nbr)
+}
diff --git a/pkg/extractor/v9/extracts.go b/pkg/extractor/v9/extracts.go
index 6bc4ba61..a951ef00 100644
--- a/pkg/extractor/v9/extracts.go
+++ b/pkg/extractor/v9/extracts.go
@@ -196,9 +196,12 @@ func extractEmpire(pageHTML []byte) ([]ogame.EmpireCelestial, error) {
return out, nil
}
-func extractOverviewProductionFromDoc(doc *goquery.Document) ([]ogame.Quantifiable, error) {
+func extractOverviewProductionFromDoc(doc *goquery.Document, lifeformEnabled bool) ([]ogame.Quantifiable, error) {
res := make([]ogame.Quantifiable, 0)
- active := doc.Find("table.construction").Eq(4)
+ active := doc.Find("table.construction").Eq(2)
+ if lifeformEnabled {
+ active = doc.Find("table.construction").Eq(4)
+ }
href, _ := active.Find("td a").Attr("href")
m := regexp.MustCompile(`openTech=(\d+)`).FindStringSubmatch(href)
if len(m) == 0 {
@@ -608,7 +611,7 @@ func extractLfBuildingsFromDoc(doc *goquery.Document) (ogame.LfBuildings, error)
res.AssemblyLine = GetNbr(doc, "lifeformTech13101")
res.FusionCellFactory = GetNbr(doc, "lifeformTech13102")
res.RoboticsResearchCentre = GetNbr(doc, "lifeformTech13103")
- res.UpdateNetwork = GetNbr(doc, "lifeformTech12304")
+ res.UpdateNetwork = GetNbr(doc, "lifeformTech13104")
res.QuantumComputerCentre = GetNbr(doc, "lifeformTech13105")
res.AutomatisedAssemblyCentre = GetNbr(doc, "lifeformTech13106")
res.HighPerformanceTransformer = GetNbr(doc, "lifeformTech13107")
diff --git a/samples/v9.0.5/en/overview_ships.html b/samples/v9.0.5/en/overview_ships.html
new file mode 100644
index 00000000..ed56d37a
--- /dev/null
+++ b/samples/v9.0.5/en/overview_ships.html
@@ -0,0 +1,1792 @@
+
+
+
+
+ Ferdinand OGame
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load...
+
+
+ No fleet movement
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+ |
+
+
+
+
+ |
+
+
+ |
+
+
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+
+
+ |
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ 0 Contact(s) online
+
+
+ -
+
+
+
+ Engineer Lambda
+ 2
+
+
+
+
+
+
+
+
+
+
+