Divinity: Original Sin 2 – Definitive Edition Guide

Deutscher Crafting-Guide zu Divinity: Original Sin 2 (SE) for Divinity: Original Sin 2

Deutscher Crafting-Guide zu Divinity: Original Sin 2 (SE)

Overview

Keine Lust mehr auf langes Rumsuchen bis Du die Rezepte gefunden hast um etwas herzustellen? Du bist gelangweilt vom ewigen rumprobieren und scheitern? Dann schau’ Dir meinen deutschen Crafting-Guide zu DoS2 (SE) an 🙂

Datenherkunft, wie komme ich an die Daten?

Wie kam ich an die Daten?

Grundsätzlich ist es relativ einfach, an die Rohdaten von Divinity: Original Sin 2 zu gelangen.
Die Aufarbeitung der Daten ist eine andere Geschichte, aber mit etwas Programmierarbeit mit VBA via Microsoft Excel konnte ich die verschiedenen Datenpakete recht einfach zuteilen. Natürlich ist auch jede andere Skriptsprache nutzbar, wie beispielsweise Perl.

Rezeptrohdaten holen

In der Bibliothek die Eigenschaften von Divinity: Original Sin 2 öffnen:
Rechtsklick auf den Bibliotheks-Eintrag, im Kontextmenü auf “Eigenschaften” klicken.

Nun in das Register “DLC” wechseln und den Eintrag “Divinity Engine 2 Data” anhaken und das Fenster schließen.

Nun sollten wenige hundert MB zusätzlich heruntergeladen werden und die Verzeichnisse die wir im Folgenden benötigen werden angelegt.

Wir starten damit eine Datei aus dem Installationsverzeichnis in ein Arbeitsverzeichnis zu kopieren:

  • Deine Steam-Bibliothek steamapps common Divinity Original Sin 2 Data Editor Mods Shared Stats ItemCombos ItemCombos.stats

Diese Datei ist ähnlich einer .xml-Datei aufgebaut und kann ggf. auch direkt mit Microsoft Excel begutachtet werden. Hierbei sind für uns folgende Felder von Interesse:

  • Result 1 (Ergebnis 1)
  • Result 2 (Ergebnis 2)
  • Object 1 (benötigtes Objekt 1)
  • Object 2 (benötigtes Objekt 2)
  • Object 3 (benötigtes Objekt 3)
  • Object 4 (benötigtes Objekt 4)
  • Object 5 (benötigtes Objekt 5)
  • Using
  • CraftingStation (benötigte Handwerksstation)

Manche Items besitzen nicht alle Feldangaben, hier als Beispiel der erste Eintrag:

Name | Result 1 | Object 1 | Object 2 Bone_LAB_MortarPestle_A | TOOL_Puch_Dust_Bone_A | Bone | LAB_MortarPestle_A

In diesem Beispiel benötigt der Gegenstand “TOOL_Puch_Dust_Bone_A” lediglich zwei Objekte, nämlich “Bone” und “LAB_MortarPestle_A”. Das Rezept nennt sich dann “Bone_LAB_MortarPestle_A”. Die etwas kryptischen Namen kann man vorerst ignorieren, da kommen wir später noch dazu.

Handwerksstationen hinzufügen

Wir arbeiten uns hier weiter und möchten nun etwaige Handwerksstationen hinzufügen. In der ItemCombos.stats haben manche Items den Wert “CraftingStation” – Feld “Value”, dies ist aber eine Zahl. Um an die Handwerksstation zu gelangen die wir dafür benötigen, greifen wir auf die nächste Datei zu:

  • Deine Steam-Bibliothek steamapps common Divinity Original Sin 2 Data Editor Mods Shared Stats ItemCombos CraftingStationsItemComboPreviewData.stats

Die Datei ist ähnlich wie die ItemCombos.stats aufgebaut. Allerdings ist der jeweilige Eintrag “<stat_obejct index = “x”>” für uns von Interesse. In der jeweiligen Unterrubrik findet sich dann das Feld “StatsID”, welche dann eine Bezeichnung wie “FARM_Beehive_A” entsprechend der Indexzahl enthält.
Diesen Feldinhalt aus “StatsID” kopieren wir uns für die entsprechenden Einträge in unserer Haupttabelle hinzu wenn ein Inhalt in unserer Haupttabelle unter “CraftingStation” enthalten ist.

Übersetzungsreferenzen organisieren

Langsam wird’s spannend! Wir nähern uns dem Finish, sozusagen 🙂 Auch wenn es noch ein langer Weg ist.

Zuerst kopieren wir in unser Arbeitsverzeichnis zwei weitere Dateien, nämlich:

  • Deine Steam-Bibliothek steamapps common Divinity Original Sin 2 Data Shared.pak
  • Deine Steam-Bibliothek steamapps common Divinity Original Sin 2 Data Shared_1.pak

In der SE-Version von DoS2 wird die Shared_1.pak für die Extraktion der Shared.pak benötigt.
Um die beiden Dateien zu extrahieren benötigen wir ein Tool von Larian, den .pak-Extractor[larian.com].
Damit lassen sich nicht nur die .pak-Dateien entpacken, sondern auch alle wichtigen Dateiformate in lesbare Formate umwandeln, bzw. in diese Dateien wieder zurückwandeln.

Wir starten den .pak-Extractor[larian.com] und wenden ihn auf die Shared.pak an. Sinnvoll ist es an dieser Stelle ein eigenes Verzeichnis für die Extraktion zu wählen 🙂
Wurde alles extrahiert, so können wir auf Inhalte in dieser Datei zugreifen. Für uns ist jetzt folgende Datei interessant:

  • Public Shared Localization Stats.lsb

Diese Datei kopieren wir uns ebenfalls in unser Arbeitsverzeichnis und nutzen den .pak-Extractor[larian.com] um die .lsb-Datei in eine “LSX (XML)” im entsprechenden Programmregister umzuwandeln. Ansonsten ist die Datei nicht lesbar!

Die jetzige .lsx-Datei muss ebenfalls mit einem Script ausgelesen werden. Ich habe mir dabei eine neue Tabelle geschaffen, bei der ich in Spalte a den Inhalt von “UUID” erhalte und als zweite Spalte den Inhalt “Content”. Letztere ist der Sprachschlüssel wie der Gegenstand in der jeweiligen Sprache heißt. Hier einige Beispiele (nur ein Auszug):

UUID | Content BOOK_Book_A | h051ceb1bg2bdeg441dg90c9g1a573c64a5fc BOOK_Paper_Sheet_A | h8c4ade43g3f01g4debg8edbg1b3e64e2388f CON_Drink_Cup_A_Milk_Poisoned | h7a1fd52cg371cg41e4gacddg83bfbd56c763

Übersetzungsstrings hinzufügen

Jetzt geht’s ans Eingemachte, sozusagen. Zur Sicherheit habe ich mir eine Kopie der bisher zusammengefassten Item-Tabelle erstellt und damit weitergearbeitet, da einiges schiefgehen kann.
Ich habe mir ein Skript geschrieben, mit dem ich mir einige Spalten weiter rechts die Referenz zwischen den Bezeichnungen in der Ausgangstabelle und mit dem UUID der .lsx-Datei verbunden habe. Wird das Element gefunden setze ich den passenden Content neben die entsprechende Ressource.
Dies muss natürlich für jeden Objektnamen im gesamten Blatt gemacht werden, also für alle Datenspalten (beide Ergebnisse, 5x Objekte, Using, CraftingStationName).

Die passende Sprachübersetzungsdatei kopieren

Nun können wir die entsprechende Sprachdatei organisieren. Grundsätzlich kann man diesen SChritt mit jeder beliebigen Sprache machen, ich habe natürlich hier die deutsche Übersetzung benutzt.

Wir kopieren uns in unser Arbeitsverzeichnis die Sprachdatei. Diese ist allerdings wieder in einer .pak-Datei enthalten, also kopieren und extrahieren wir folgende Datei:

  • Deine Steam-Bibliothek steamapps common Divinity Original Sin 2 Data Localization German.pak

Aus dem mit dem .pak-Extractor[larian.com] entpackten Archiv holen wir uns die echte Übersetzungsdatei:

  • localization German german.xml

Es handelt sich dabei, wie die Dateiendung vermuten lässt um eine XML-Datei und ist überraschend einfach lesbar. Die Datei besteht aus zwei Inhalten, “contentuid” und “content”, hier einige Beispiele:

contentuuid | content hd3bb191aga09cg4f8bg9d36g2f61299b54cf | Mittlerer Stärketrank hc4416c39gec9dg4ce2gaf6ag84b8675c9e33 | Gigantischer Heiltrank h8d8a930ag34b6g434fga352gf33f582b83ec | Fertigkeitenbuch: Tornado

Wir referenzieren nun aus unserer Haupttabelle die zuvor hinzugefügten Sprachschlüssels aller Objekte mit der “contentuuid” der Sprachdatei und erhalten lesbare Inhalte.

Abschlussarbeiten

Als Feinheit habe ich dann noch die Inhalte in ein leeres Blatt kopiert die von Interesse sind und den Rest entfernt 🙂

Alle Rezepte per Mai 2019

Da die Auflistung aller Rezepte zu umfangreich wäre, habe ich meine erzeugten Datensätze aufbereitet und in verschiedene Worksheets in Google Docs eingebettet.
Die Übersicht aller möglichen Rezepte ist hier zu finden[docs.google.com].

Crafting: Allgemein

Hier sind alle allgemeinen und nicht direkt zuteilbaren Rezepte zu finden. Darunter Nahrungsmittel, diverse Craftingmaterialien und Equipment (teilweise selbst benannt).
>Direktlink zur passenden Registerkarte[docs.google.com]<

Crafting: Zauber

Enthält eine Übersicht aller Zauber die in DoS2 (EE) verfügbar sind. Neben der Bezeichnung und einigen Informationen über den jeweiligen Zauber sind weiter außen auch die Herstellrezepte für Schriftrollen und Lehrbücher enthalten. Dies war eigentlich der am Anfang einzige Grund, warum ich mir diese Arbeit angetan habe 🙂
>Direktlink zur passenden Registerkarte[docs.google.com]<

Crafting: Runen

Enthält eine Übersicht aller Runen, Runenkombination und Rezepte was Runen betreffen (Aufwertungen, Rahmen, etc). Ich habe mir erlaubt die originalen Rechtschreibfehler bei den “Ruhnenrahmen” auf “Runenrahmen” zu korrigieren.
>Direktlink zur passenden Registerkarte[docs.google.com]<

Crafting: Tränke

Hier sind alle möglichen Tränke zu finden. Bei den Stat-Tränken fiel mir auf, dass es einige Tränke gibt, die nicht herstellbar sind. Falls dies ein Fehler sein sollte bitte ich um eine kurze Rückmeldung. An und für sich hatte ich alle vorhandenen Rezepte zugeteilt…
>Direktlink zur passenden Registerkarte[docs.google.com]<

Crafting: Granaten

Alle möglichen Granaten und Herstellzubehör sind hier aufgeführt.
>Direktlink zur passenden Registerkarte[docs.google.com]<

Crafting: Munition

Wie der Name vermuten lässt findest Du hier alle möglichen Arten von Pfeilen, Spitzen und benötigtes Herstellzubehör.
>Direktlink zur passenden Registerkarte[docs.google.com]<

Weitere Register

Es sind noch einige weitere Register enthalten. Diese haben mit dem Guide nichts zu tun, das sind so meine Aufzeichnungen über DoS2 die ich mir im Laufe der Zeit angefertigt hatte. Beispielsweise:

  • Allgemein: Lehrer (wo stehen Lehrbuchhändler rum)
  • Allgemein: Rassen (allgemeine Information über Rassenboni und Charakterquests)
  • Allgemein: Vorgegebene Klassen (Informationen über Klassen, deren Boni und eventuellen Synergien)
  • STORY-SPOILER! Gottheiten (Information über Götter, Referenzen zu Charakteren und verschiedenen Rätseln)

Danksagung

Ich möchte mich in diesem Sinne bei dem Steam-User “Mellarius” für seinen englischen Extraction Guide bedanken. Auf ihm basiert auch der deutsche Guide und hat mir eine Menge Zeit für die Suche nach den passenden Informationen gespart!

Feedback ist gerne erwünscht!

Falls Du Vorschläge hast was ich noch aufbessern kann, immer her damit. Konstruktives Feedback ist gern gewünscht!

SteamSolo.com