U3-Nachtrag: Spieltest bis Welle 8, Tooltip-Wertzeilen, Motive

Die offenen Reste der U3-Abnahme, auf dem letzten Commit (U5.2).

- Spieltest über die echte Oberfläche (HudPlaytest): Wellen 1–8 nur mit
  Klicks und Tasten gespielt, Ende in der Planung von Welle 9. Geprüft:
  Startaufstellung, Tastenkauf, Lane- und Karten-Tooltips, Bereit, Tempo,
  Pause, Lane-Wechsel, Kamera-Reset, Einheitendetails und Einsatz auf
  Bottom, Held anwerben, Items, Talentwahl, Angriffschampion mit
  Ankündigung und Einsatz. Der erste Lauf endete in Runde 3, weil die
  Werkzeugumgebung den Unity-Prozess beendete.
- Tooltip: Wertzeilen wie Godots GridContainer in drei Spalten ohne
  Umbruch; vorher brach „7.500 / 7.500 (100 %)“ um.
- Motive bei 1280×720, 2560×1080 und 2560×1440 (JPEG), die der
  U3D-Commit nannte, aber nicht enthielt; erzeugt vom U3-Stand e2aadcb.
- Befund für U4: Der Startbildschirm ist nicht in der Szene eingebunden.
- Tests: EditMode 29/29, PlayMode 13/13, Verify 718/0, Fingerabdrücke
  der Bot-Partien unverändert (DCE95C96556F3A1A, 7B8E43AEFC0D60C5).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Martin Stickelbroeck 2026-10-07 15:54:54 +02:00
parent 9479d4452e
commit 527f7c5a35
66 changed files with 224 additions and 49 deletions

View file

@ -35,7 +35,6 @@ namespace Luneraria.UI
public LuneTooltip() : base(LunePanels.Tooltip, false) public LuneTooltip() : base(LunePanels.Tooltip, false)
{ {
style.position = Position.Absolute; style.position = Position.Absolute;
style.maxWidth = Width;
pickingMode = PickingMode.Ignore; pickingMode = PickingMode.Ignore;
_column = LuneUi.Box(true, 4f, this); _column = LuneUi.Box(true, 4f, this);
LuneUi.Show(this, false); LuneUi.Show(this, false);
@ -132,25 +131,32 @@ namespace Luneraria.UI
return; return;
} }
_column.Clear(); _column.Clear();
// Like Godot: title, subtitle and stat rows never wrap (a long row widens the tooltip);
// only text, note and warning wrap at the tooltip width.
if (tip.Title.Length > 0) if (tip.Title.Length > 0)
{ {
VisualElement head = LuneUi.Box(false, 6f, _column); VisualElement head = LuneUi.Box(false, 6f, _column);
if (tip.Glyph.Length > 0) if (tip.Glyph.Length > 0)
LuneUi.Glyph(tip.Glyph, tip.GlyphColor ?? LuneUiTheme.BronzeLight, 18f, head); LuneUi.Glyph(tip.Glyph, tip.GlyphColor ?? LuneUiTheme.BronzeLight, 18f, head);
LuneUi.Wrap(LuneUi.Label(tip.Title, "HudValue", head)); LuneUi.Label(tip.Title, "HudValue", head);
} }
if (tip.Subtitle.Length > 0) if (tip.Subtitle.Length > 0)
LuneUi.Wrap(LuneUi.Label(tip.Subtitle, "HudMuted", _column)); LuneUi.Label(tip.Subtitle, "HudMuted", _column);
if (tip.Stats.Count > 0) if (tip.Stats.Count > 0)
{ {
VisualElement grid = LuneUi.Box(true, 2f, _column); // Godot GridContainer with three columns (glyph, name, value; 8 apart, rows 2 apart).
// The rows are single lines, so three columns of equally high cells line up like
// the grid and the widest name sets the second column.
VisualElement grid = LuneUi.Box(false, 8f, _column);
grid.style.alignItems = Align.FlexStart;
VisualElement glyphs = LuneUi.Box(true, 2f, grid);
VisualElement names = LuneUi.Box(true, 2f, grid);
VisualElement values = LuneUi.Box(true, 2f, grid);
foreach (string[] row in tip.Stats) foreach (string[] row in tip.Stats)
{ {
VisualElement line = LuneUi.Box(false, 8f, grid); LuneUi.Glyph(row[0], LuneUiTheme.Muted, 14f, Cell(glyphs));
LuneUi.Glyph(row[0], LuneUiTheme.Muted, 14f, line); LuneUi.Label(row[1], "HudMuted", Cell(names));
Label name = LuneUi.Label(row[1], "HudMuted", line); LuneUi.Label(row[2], "HudText", Cell(values));
name.style.minWidth = 104f;
LuneUi.Wrap(LuneUi.Label(row[2], "HudText", line)).style.flexGrow = 1f;
} }
} }
AddLine(tip.Text, "HudText", null); AddLine(tip.Text, "HudText", null);
@ -166,6 +172,20 @@ namespace Luneraria.UI
BringToFront(); BringToFront();
} }
/// <summary>One grid cell: a line high, content centred vertically.</summary>
static VisualElement Cell(VisualElement column)
{
var cell = new VisualElement { pickingMode = PickingMode.Ignore };
cell.style.height = RowHeight;
cell.style.justifyContent = Justify.Center;
cell.style.alignItems = Align.FlexStart;
column.Add(cell);
return cell;
}
/// <summary>Height of a stat row (a 15 px Cantarell line).</summary>
const float RowHeight = 19f;
void AddLine(string text, string variation, Color? color) void AddLine(string text, string variation, Color? color)
{ {
if (string.IsNullOrEmpty(text)) if (string.IsNullOrEmpty(text))

View file

@ -61,9 +61,10 @@ Hinweis: Die Projektdateien des .NET-Harness (`tools/dotnet/*/*.csproj`) fehlten
| --- | --- | | --- | --- |
| Tests | EditMode 23/23 (Kern 402 Prüfungen, Sichtmodell, Bildraten-Logik). PlayMode 13/13: Verify A–I **718 Prüfungen, 0 Fehler** (Port von `verify_g3` 715/715 plus Teil I), Szene bei echten Bildraten, Vertical Function Test, Capture, UI-Toolkit-Probe. Bildwerkzeuge und Spieltest sind `Explicit`. Protokolle `logs/u3/`, Summen `tools/out/hud-verify-*.txt` | | Tests | EditMode 23/23 (Kern 402 Prüfungen, Sichtmodell, Bildraten-Logik). PlayMode 13/13: Verify A–I **718 Prüfungen, 0 Fehler** (Port von `verify_g3` 715/715 plus Teil I), Szene bei echten Bildraten, Vertical Function Test, Capture, UI-Toolkit-Probe. Bildwerkzeuge und Spieltest sind `Explicit`. Protokolle `logs/u3/`, Summen `tools/out/hud-verify-*.txt` |
| Parität | Bot-Partie Seed 2 `DCE95C96556F3A1A` (12.690 Schritte), Seed 9 ab Runde 21 `7B8E43AEFC0D60C5` (4.195 Schritte), beide unverändert gleich dem Kern | | Parität | Bot-Partie Seed 2 `DCE95C96556F3A1A` (12.690 Schritte), Seed 9 ab Runde 21 `7B8E43AEFC0D60C5` (4.195 Schritte), beide unverändert gleich dem Kern |
| Bild | `screenshots/u3/motive-1920x1080/` (14 G3-Motive), `pruefung/` (Teile B–F), `aufloesungen/` (1152×720 … 2560×1440), `r1-*.png`/`r2-*.png` (Spieltest) | | Bild | `screenshots/u3/motive-1920x1080/` (14 G3-Motive), dieselben als JPEG in `motive-1280x720/`, `motive-2560x1080/`, `motive-2560x1440/` (Nachtrag), `pruefung/` (Teile B–F), `aufloesungen/` (1152×720 … 2560×1440), `spieltest/` (Wellen 1–8) |
| Leistung | macOS-Player mit HUD, 116 Einheiten: 169 fps (Übersicht) und 218 fps (Mid nah). HUD-Skripte **0,090 bzw. 0,078 ms je Bild**; Simulation 0,09/0,04 ms, Ansichten 0,31/0,33 ms. Ausreißer beim Present (p95 10–13 ms) im Rahmen der U2D-Streuung. Rohdaten `logs/u3/player-benchmark-macos.json` | | Leistung | macOS-Player mit HUD, 116 Einheiten: 169 fps (Übersicht) und 218 fps (Mid nah). HUD-Skripte **0,090 bzw. 0,078 ms je Bild**; Simulation 0,09/0,04 ms, Ansichten 0,31/0,33 ms. Ausreißer beim Present (p95 10–13 ms) im Rahmen der U2D-Streuung. Rohdaten `logs/u3/player-benchmark-macos.json` |
| Bekannte Unterschiede | Godots deklarierte Schriftgewichte werden in der Referenz nie angewendet (String-Schlüssel „wght“); Port zeigt wie G3 Regular 400. Kein Hauptmenü, kein Grottenlicht. Details [U3-UI.md](U3-UI.md) und [KNOWN-BEHAVIOR-DIFFERENCES.md](KNOWN-BEHAVIOR-DIFFERENCES.md) | | Bekannte Unterschiede | Godots deklarierte Schriftgewichte werden in der Referenz nie angewendet (String-Schlüssel „wght“); Port zeigt wie G3 Regular 400. Kein Hauptmenü, kein Grottenlicht. Details [U3-UI.md](U3-UI.md) und [KNOWN-BEHAVIOR-DIFFERENCES.md](KNOWN-BEHAVIOR-DIFFERENCES.md) |
| Nachtrag (7. Oktober 2026) | Spieltest über die echte Oberfläche: Wellen 1–8 gespielt, Ende in der Planung von Welle 9 (`logs/u3/playtest-log.txt`). Tooltip-Wertzeilen ohne Umbruch wie Godots `GridContainer`. Die im U3D-Commit genannten Motivsätze in drei weiteren Auflösungen nachgeholt (vom U3-Stand `e2aadcb`). Befund für U4: Startbildschirm nicht in der Szene eingebunden |
| Offen | Hauptmenü und Netzwerk (U4); Schriftgewichte, Grottenlicht und weitere Darstellung (U5); Windows-/Linux-Player (Build-Module) | | Offen | Hauptmenü und Netzwerk (U4); Schriftgewichte, Grottenlicht und weitere Darstellung (U5); Windows-/Linux-Player (Build-Module) |
| Commits | `luneraria/u3`: U3A `4dee9b1`, U3B/U3C `2b86c0d`, U3D `66867f3` | | Commits | `luneraria/u3`: U3A `4dee9b1`, U3B/U3C `2b86c0d`, U3D `66867f3` |

View file

@ -1,6 +1,6 @@
# U3 · G3-HUD portieren # U3 · G3-HUD portieren
Stand: 1. Oktober 2026. Stand: 1. Oktober 2026, Nachtrag 7. Oktober 2026 (Spieltest bis Welle 8, Tooltip-Wertzeilen, Motive in drei weiteren Auflösungen).
| Teil | Inhalt | Zustand | | Teil | Inhalt | Zustand |
| --- | --- | --- | | --- | --- | --- |
@ -178,15 +178,38 @@ Dazu EditMode 23/23 (Kern 402 Prüfungen, Sichtmodell, Bildraten-Logik) und Play
| `screenshots/u3/motive-1920x1080/` | die 14 G3-Motive (`HudViewsTests`, Port von `g3_views.gd`): Planung, Held, Items, Einheit, Champion, Boss verfügbar/angekündigt, Kampf Top/Mid/Bottom, eigener und gegnerischer Ancient kritisch, Turm zerstört, große Kampfansicht | | `screenshots/u3/motive-1920x1080/` | die 14 G3-Motive (`HudViewsTests`, Port von `g3_views.gd`): Planung, Held, Items, Einheit, Champion, Boss verfügbar/angekündigt, Kampf Top/Mid/Bottom, eigener und gegnerischer Ancient kritisch, Turm zerstört, große Kampfansicht |
| `screenshots/u3/pruefung/` | Schlüsselbilder der Teile B–F (Status, Held, Items, Einheit, Champions, Boss, Tooltip) | | `screenshots/u3/pruefung/` | Schlüsselbilder der Teile B–F (Status, Held, Items, Einheit, Champions, Boss, Tooltip) |
| `screenshots/u3/aufloesungen/` | Kampf bei 1152×720, 1280×720, 2560×1080, 2560×1440 (Teil A) | | `screenshots/u3/aufloesungen/` | Kampf bei 1152×720, 1280×720, 2560×1080, 2560×1440 (Teil A) |
| `screenshots/u3/r1-*.png`, `r2-*.png` | Spieltest über die echte Oberfläche: Lane-Tooltip, Kampfbeginn, Pause, Karten-Tooltip, Kampf Bottom | | `screenshots/u3/motive-1280x720/`, `motive-2560x1080/`, `motive-2560x1440/` | dieselben 14 Motive bei 1280×720, Ultrawide und 2560×1440, als JPEG (Qualität 90) |
| `screenshots/u3/spieltest/` | Spieltest über die echte Oberfläche, Wellen 1–8 (15 Bilder, JPEG; siehe unten) |
Die 14 Motive liegen auch als JPEG bei 1280×720, 2560×1080 und 2560×1440 (Repository-Größe). Vergleichsbilder der Referenz: `../saumwacht-godot/docs/luneraria/screenshots/`. Die drei weiteren Motivsätze nannte der U3D-Commit bereits, enthielt sie aber nicht. Sie wurden am 7. Oktober 2026 vom U3-Stand (`e2aadcb`) aus erzeugt und passen damit zum 1920er-Satz. Vergleichsbilder der Referenz: `../saumwacht-godot/docs/luneraria/screenshots/`.
### Spieltest über die echte Oberfläche ### Spieltest über die echte Oberfläche
`HudPlaytest` (Port von `g3_playtest.gd`) treibt die echte Partie nur über Eingaben: Klicks an Pixelkoordinaten von 1920×1080, Tasten, Zeigerbewegungen für Tooltips. Ein Tester schreibt Befehlsstapel nach `/tmp/lune_play/cmd-N.txt` und bekommt danach einen Screenshot zurück; der Protokoll aller Befehle mit Runde und Phase steht in `logs/u3/playtest-log.txt`. `HudPlaytest` (Port von `g3_playtest.gd`) treibt die echte Partie nur über Eingaben: Klicks an Pixelkoordinaten von 1920×1080, Tasten, Zeigerbewegungen für Tooltips. Ein Tester schreibt Befehlsstapel nach `/tmp/lune_play/cmd-N.txt` und bekommt danach einen Screenshot zurück. Das Protokoll aller Befehle mit Runde und Phase steht in `logs/u3/playtest-log.txt`.
Geprüft in einem Lauf über drei Runden: Lane-Tooltip in der Planung, Bereit und Kampfbeginn, Pause im Kampf (P), Karten-Tooltip, Tastenkauf (4), Lane-Wechsel per F3/F4 und Kamera nach Bottom. Der Port hat noch kein Hauptmenü; der Spieltest startet deshalb in der Partie der G1-Szene. **Lauf vom 7. Oktober 2026:** Wellen 1 bis 8 gespielt, Ende in der Planung von Welle 9; 26 Befehlsstapel in gut 12 Minuten. Der erste Lauf vom 2. Oktober endete in Runde 3. Nicht das Spiel brach ab, sondern die Werkzeugumgebung beendete den Unity-Prozess an ihrer Zeitgrenze. Der zweite Lauf startete Unity unabhängig davon.
Stand des Laufs: `luneraria/u5.2` (`9479d44`) mit der Tooltip-Korrektur unten. Das HUD ist das von U3 mit den Befehlswegen aus U4. Die Welt zeigt schon die U5.2-Darstellung, daher sind die Bilder dunkler als die Motive. Die Partie ist die der Szene (Seed 2); sie beginnt direkt in der Planung, weil die Szene den Startbildschirm aus U4 nicht enthält (siehe Befunde).
Geprüft:
- **Planung:** Startaufstellung per Knopf; Kauf per Taste 1–5, auch während der Reiter Angriffschampions offen ist; Gold, Einkommen und Rückgängig.
- **Tooltips:** Lane mit Turm-HP und Grund („Grenzwacht bei 82 %“); Kaufkarte mit Werten, Aufwertung und „Es fehlen 52 Gold.“
- **Kampf:** Bereit per Leertaste, Tempo 2× per Klick, Pause mit P, Lane-Wechsel F3/F4, Klick auf eine Lane bewegt die Kamera, R setzt sie zurück.
- **Einheiten:** Auswahl über den Armee-Chip, Details mit Aufwertung, Einsatz auf Bottom per Klick (Armeezeile „MID 6 · BOTTOM 1“), Esc schließt.
- **Held:** Fenster „Held anwerben“ mit drei Porträts; Quellgeflecht angeworben. Items zeigen „ZU TEUER“ und „STUFE FEHLT“. H zeigt den Helden im Feld mit Namensschild. Bei Stufe 4 und 6 erscheint „TALENT!“; „Weite Quelle“ per Klick gewählt.
- **Angriffschampion:** Rostschieber auf Mid gebucht. Welle 8 kündigt ihn an („FÜR EUCH“); im Kampf erscheint er auf Mid, die Ereignisleiste meldet ihn.
- **Rückmeldungen:** Wellenabschluss mit Ertrag, Lane-Bedrohung UMKÄMPFT und UNTER DRUCK, gefallene Einheiten durchgestrichen, Heldenkarte „gefallen“.
Befunde:
| Befund | Maßnahme |
| --- | --- |
| Werte in Tooltip-Zeilen brachen um („7.500 / 7.500 (100“ und „%)“ in zwei Zeilen). Jede Wertzeile hatte eigene Spalten, und die Breite war auf 300 px begrenzt | Tooltip legt Wertzeilen wie Godots `GridContainer` an: drei Spalten (Symbol, Name, Wert), ohne Umbruch, die breiteste Zeile bestimmt die Breite. Nur Text, Hinweis und Warnung brechen bei 300 px um |
| Die Heldenkarte öffnet bei „TALENT!“ den Reiter Werte | wie in G3 (`open_hero`); der Reiter „TALENTE ★“ zeigt die offene Wahl. Unverändert |
| Das Namensschild des Helden liegt im Getümmel über anderen Figuren | lesbar, wie in G3. Unverändert |
| Der Startbildschirm aus U4 erscheint nicht: Nichts legt `LuneNetPlay` in die Szene. Der Verlassen-Dialog verspricht das Hauptmenü, beendet aber das Spiel | gehört zu U4, als eigene Aufgabe vorgemerkt |
Bilder: `screenshots/u3/spieltest/` (Lane-Tooltip, Karten-Tooltip, Einheitendetails, Lane umkämpft, Held anwerben und angeworben, Items zu teuer, Held im Feld, Einsatz Bottom, Kampf Bottom, Talentwahl, Champion gebucht, Ankündigung Welle 8, Kampf Mid in Welle 8, Planung Welle 9).
### Leistung ### Leistung
@ -231,15 +254,15 @@ Der Vergleich der 14 Motive mit der Referenz brachte Darstellungen hervor, die z
| Eingabe und Befehle wie in G3, Befehle über dieselbe Schnittstelle wie die Bots | erfüllt (U3C) | | Eingabe und Befehle wie in G3, Befehle über dieselbe Schnittstelle wie die Bots | erfüllt (U3C) |
| Offene G3-Punkte: Champion-Etikett, Typ-Symbole, Armeewert, Helden auf der Minimap | erfüllt (U3B) | | Offene G3-Punkte: Champion-Etikett, Typ-Symbole, Armeewert, Helden auf der Minimap | erfüllt (U3B) |
| Prüfung Teile A–H von `verify_g3` | erfüllt, 718 Prüfungen mit Teil I, 0 Fehler | | Prüfung Teile A–H von `verify_g3` | erfüllt, 718 Prüfungen mit Teil I, 0 Fehler |
| Spieltest über die echte Oberfläche | erfüllt (Runden 1–3, siehe oben) | | Spieltest über die echte Oberfläche | erfüllt (Wellen 1–8, Nachtrag 7. Oktober 2026, siehe oben) |
| Bilder der 14 Motive und der Auflösungen | erfüllt | | Bilder der 14 Motive und der Auflösungen | erfüllt (1920×1080 als PNG; 1280×720, 2560×1080, 2560×1440 als JPEG seit dem Nachtrag) |
| Leistung gemessen, einschließlich HUD-Kosten | erfüllt (`ui_ms_per_frame` 0,08–0,09) | | Leistung gemessen, einschließlich HUD-Kosten | erfüllt (`ui_ms_per_frame` 0,08–0,09) |
| Bot-Partien und Fingerabdrücke unverändert | erfüllt | | Bot-Partien und Fingerabdrücke unverändert | erfüllt |
| Bekannte Unterschiede dokumentiert | erfüllt (siehe unten und [KNOWN-BEHAVIOR-DIFFERENCES.md](KNOWN-BEHAVIOR-DIFFERENCES.md)) | | Bekannte Unterschiede dokumentiert | erfüllt (siehe unten und [KNOWN-BEHAVIOR-DIFFERENCES.md](KNOWN-BEHAVIOR-DIFFERENCES.md)) |
### Bekannte Grenzen ### Bekannte Grenzen
- **Kein Hauptmenü** im Port; „Menü“ beendet das Spiel nach Rückfrage. Das Menü mit Netzwerk-Host/Join gehört zu U4. - **Kein Hauptmenü** im Port; „Menü“ beendet das Spiel nach Rückfrage. Das Menü mit Netzwerk-Host/Join gehört zu U4 (dort gebaut, aber noch nicht in die Szene eingebunden, siehe Spieltest).
- **Grottenlicht** (Runen, Kristalle, Funken) fehlt; nur die ruhende Schlundkrone steht dort. - **Grottenlicht** (Runen, Kristalle, Funken) fehlt; nur die ruhende Schlundkrone steht dort.
- **Geplante Helden** behalten ihren reservierten Befehlsplatz, solange keiner dieser Helden spielbar ist. - **Geplante Helden** behalten ihren reservierten Befehlsplatz, solange keiner dieser Helden spielbar ist.
- **Windows- und Linux-Player** weiterhin an die fehlenden Build-Module gebunden ([U1.5-UNITY.md](U1.5-UNITY.md)). - **Windows- und Linux-Player** weiterhin an die fehlenden Build-Module gebunden ([U1.5-UNITY.md](U1.5-UNITY.md)).

View file

@ -1,31 +1,162 @@
16.1 s #1 [round=1 phase=PLANUNG] click 993 917 26.8 s #1 [round=1 phase=PLANUNG] click 993 917
16.1 s #1 [round=1 phase=PLANUNG] wait 0.6 26.9 s #1 [round=1 phase=PLANUNG] wait 0.6
16.7 s #1 [round=1 phase=PLANUNG] move 190 205 27.5 s #1 [round=1 phase=PLANUNG] move 190 205
16.7 s #1 [round=1 phase=PLANUNG] wait 0.8 27.5 s #1 [round=1 phase=PLANUNG] wait 0.8
17.5 s #1 [round=1 phase=PLANUNG] shot r1-lane-tooltip 28.3 s #1 [round=1 phase=PLANUNG] shot 01-lane-tooltip
90.0 s #2 [round=1 phase=PLANUNG] move 1000 450 28.5 s #1 [round=1 phase=PLANUNG] move 1000 450
90.0 s #2 [round=1 phase=PLANUNG] key SPACE 28.5 s #1 [round=1 phase=PLANUNG] wait 0.3
90.2 s #2 [round=1 phase=KAMPF] wait 1.5 28.8 s #1 [round=1 phase=PLANUNG] key SPACE
91.7 s #2 [round=1 phase=KAMPF] shot r1-kampfbeginn 28.9 s #1 [round=1 phase=KAMPF] wait 1.5
92.4 s #2 [round=1 phase=KAMPF] click 1720 33 30.4 s #1 [round=1 phase=KAMPF] shot 02-kampfbeginn
92.4 s #2 [round=1 phase=KAMPF] key F3 30.5 s #1 [round=1 phase=KAMPF] click 1720 33
92.4 s #2 [round=1 phase=KAMPF] wait 6 30.6 s #1 [round=1 phase=KAMPF] key F3
115.9 s #3 [round=2 phase=PLANUNG] key P 30.6 s #1 [round=1 phase=KAMPF] wait 8
115.9 s #3 [round=2 phase=PLANUNG] wait 0.6 38.6 s #1 [round=1 phase=KAMPF] shot 03-kampf-mid-tempo2
116.5 s #3 [round=2 phase=PLANUNG] shot r1-pause 53.7 s #2 [round=2 phase=PLANUNG] move 1000 450
117.1 s #3 [round=2 phase=PLANUNG] key P 53.7 s #2 [round=2 phase=PLANUNG] wait 16
117.1 s #3 [round=2 phase=PLANUNG] wait 14 85.2 s #3 [round=2 phase=PLANUNG] key 4
150.8 s #4 [round=2 phase=PLANUNG] move 1000 450 85.2 s #3 [round=2 phase=PLANUNG] wait 0.4
150.8 s #4 [round=2 phase=PLANUNG] key 4 85.6 s #3 [round=2 phase=PLANUNG] move 424 975
150.8 s #4 [round=2 phase=PLANUNG] wait 0.4 85.6 s #3 [round=2 phase=PLANUNG] wait 0.8
151.2 s #4 [round=2 phase=PLANUNG] move 424 975 86.4 s #3 [round=2 phase=PLANUNG] shot 04-karten-tooltip
151.2 s #4 [round=2 phase=PLANUNG] wait 0.8 86.5 s #3 [round=2 phase=PLANUNG] move 1000 450
152.0 s #4 [round=2 phase=PLANUNG] shot r2-karte-tooltip 86.5 s #3 [round=2 phase=PLANUNG] wait 0.3
171.0 s #5 [round=2 phase=PLANUNG] move 1000 450 86.8 s #3 [round=2 phase=PLANUNG] key SPACE
171.0 s #5 [round=2 phase=PLANUNG] key SPACE 86.8 s #3 [round=2 phase=KAMPF] wait 2
171.1 s #5 [round=2 phase=KAMPF] wait 2 88.8 s #3 [round=2 phase=KAMPF] key F4
173.1 s #5 [round=2 phase=KAMPF] key F4 88.8 s #3 [round=2 phase=KAMPF] wait 4
173.1 s #5 [round=2 phase=KAMPF] wait 3 92.8 s #3 [round=2 phase=KAMPF] shot 05-kampf-bottom
176.1 s #5 [round=2 phase=KAMPF] shot r2-kampf-bottom 93.0 s #3 [round=2 phase=KAMPF] wait 20
176.2 s #5 [round=2 phase=KAMPF] wait 18 161.1 s #4 [round=3 phase=PLANUNG] wait 12
210.6 s #6 [round=3 phase=PLANUNG] wait 15 188.8 s #5 [round=3 phase=PLANUNG] key 3
188.8 s #5 [round=3 phase=PLANUNG] wait 0.3
189.1 s #5 [round=3 phase=PLANUNG] key R
189.2 s #5 [round=3 phase=PLANUNG] wait 0.8
190.0 s #5 [round=3 phase=PLANUNG] click 940 925
190.0 s #5 [round=3 phase=PLANUNG] wait 0.5
190.5 s #5 [round=3 phase=PLANUNG] move 1000 450
190.5 s #5 [round=3 phase=PLANUNG] wait 0.3
190.8 s #5 [round=3 phase=PLANUNG] shot 06-einheit-details
190.9 s #5 [round=3 phase=PLANUNG] key ESCAPE
190.9 s #5 [round=3 phase=PLANUNG] wait 0.2
191.1 s #5 [round=3 phase=PLANUNG] key SPACE
191.1 s #5 [round=3 phase=KAMPF] wait 2
193.1 s #5 [round=3 phase=KAMPF] key F3
193.1 s #5 [round=3 phase=KAMPF] wait 14
223.0 s #6 [round=4 phase=PLANUNG] wait 10
249.1 s #7 [round=4 phase=PLANUNG] move 190 315
249.1 s #7 [round=4 phase=PLANUNG] wait 0.8
249.9 s #7 [round=4 phase=PLANUNG] shot 07-lane-umkaempft
250.1 s #7 [round=4 phase=PLANUNG] click 190 315
250.1 s #7 [round=4 phase=PLANUNG] move 1000 450
250.1 s #7 [round=4 phase=PLANUNG] wait 0.8
250.9 s #7 [round=4 phase=PLANUNG] shot 08-lane-klick-kamera
251.0 s #7 [round=4 phase=PLANUNG] key SPACE
251.1 s #7 [round=4 phase=KAMPF] wait 22
288.4 s #8 [round=5 phase=PLANUNG] wait 8
310.3 s #9 [round=5 phase=PLANUNG] click 1430 940
310.4 s #9 [round=5 phase=PLANUNG] wait 0.6
311.0 s #9 [round=5 phase=PLANUNG] move 1000 120
311.0 s #9 [round=5 phase=PLANUNG] wait 0.3
311.3 s #9 [round=5 phase=PLANUNG] shot 09-held-anwerben
328.0 s #10 [round=5 phase=PLANUNG] click 960 838
328.0 s #10 [round=5 phase=PLANUNG] wait 0.6
328.6 s #10 [round=5 phase=PLANUNG] move 1000 120
328.6 s #10 [round=5 phase=PLANUNG] wait 0.3
328.9 s #10 [round=5 phase=PLANUNG] shot 10-held-angeworben
349.0 s #11 [round=5 phase=PLANUNG] click 1023 258
349.0 s #11 [round=5 phase=PLANUNG] wait 0.5
349.5 s #11 [round=5 phase=PLANUNG] move 1000 120
349.5 s #11 [round=5 phase=PLANUNG] wait 0.3
349.8 s #11 [round=5 phase=PLANUNG] shot 11-items-zu-teuer
349.9 s #11 [round=5 phase=PLANUNG] key ESCAPE
349.9 s #11 [round=5 phase=PLANUNG] wait 0.3
350.2 s #11 [round=5 phase=PLANUNG] key H
350.2 s #11 [round=5 phase=PLANUNG] wait 1.0
351.3 s #11 [round=5 phase=PLANUNG] shot 12-held-im-feld
351.4 s #11 [round=5 phase=PLANUNG] key SPACE
351.5 s #11 [round=5 phase=KAMPF] wait 2
353.5 s #11 [round=5 phase=KAMPF] key F3
353.5 s #11 [round=5 phase=KAMPF] wait 18
387.9 s #12 [round=6 phase=PLANUNG] wait 6
412.5 s #13 [round=6 phase=PLANUNG] key 2
412.6 s #13 [round=6 phase=PLANUNG] wait 0.3
412.9 s #13 [round=6 phase=PLANUNG] key 1
412.9 s #13 [round=6 phase=PLANUNG] wait 0.5
413.4 s #13 [round=6 phase=PLANUNG] shot 13-gekauft
434.5 s #14 [round=6 phase=PLANUNG] click 905 1000
434.5 s #14 [round=6 phase=PLANUNG] wait 0.5
435.0 s #14 [round=6 phase=PLANUNG] move 1000 450
435.0 s #14 [round=6 phase=PLANUNG] wait 0.2
435.2 s #14 [round=6 phase=PLANUNG] shot 14-einheit-gewaehlt
435.3 s #14 [round=6 phase=PLANUNG] click 1740 480
435.4 s #14 [round=6 phase=PLANUNG] wait 0.5
435.9 s #14 [round=6 phase=PLANUNG] move 1000 450
435.9 s #14 [round=6 phase=PLANUNG] wait 0.3
436.2 s #14 [round=6 phase=PLANUNG] shot 15-einsatz-bottom
452.7 s #15 [round=6 phase=PLANUNG] click 1740 461
452.7 s #15 [round=6 phase=PLANUNG] wait 0.5
453.2 s #15 [round=6 phase=PLANUNG] move 1000 450
453.2 s #15 [round=6 phase=PLANUNG] wait 0.3
453.5 s #15 [round=6 phase=PLANUNG] shot 15-einsatz-bottom
469.1 s #16 [round=6 phase=PLANUNG] key ESCAPE
469.1 s #16 [round=6 phase=PLANUNG] wait 0.2
469.3 s #16 [round=6 phase=PLANUNG] key SPACE
469.4 s #16 [round=6 phase=KAMPF] wait 2
471.4 s #16 [round=6 phase=KAMPF] key F4
471.4 s #16 [round=6 phase=KAMPF] wait 6
477.4 s #16 [round=6 phase=KAMPF] shot 16-kampf-bottom
477.5 s #16 [round=6 phase=KAMPF] wait 16
508.8 s #17 [round=7 phase=PLANUNG] wait 10
534.8 s #18 [round=7 phase=PLANUNG] click 1524 990
534.8 s #18 [round=7 phase=PLANUNG] wait 0.6
535.4 s #18 [round=7 phase=PLANUNG] move 1000 120
535.4 s #18 [round=7 phase=PLANUNG] wait 0.3
535.7 s #18 [round=7 phase=PLANUNG] shot 17-talentwahl
558.9 s #19 [round=7 phase=PLANUNG] click 1140 258
558.9 s #19 [round=7 phase=PLANUNG] wait 0.6
559.5 s #19 [round=7 phase=PLANUNG] move 1000 120
559.5 s #19 [round=7 phase=PLANUNG] wait 0.3
559.9 s #19 [round=7 phase=PLANUNG] shot 17-talentwahl
572.1 s #20 [round=7 phase=PLANUNG] click 1327 365
572.2 s #20 [round=7 phase=PLANUNG] wait 0.6
572.8 s #20 [round=7 phase=PLANUNG] move 1000 120
572.8 s #20 [round=7 phase=PLANUNG] wait 0.3
573.1 s #20 [round=7 phase=PLANUNG] shot 18-talent-gewaehlt
573.2 s #20 [round=7 phase=PLANUNG] key ESCAPE
573.2 s #20 [round=7 phase=PLANUNG] wait 0.3
573.5 s #20 [round=7 phase=PLANUNG] click 750 885
573.5 s #20 [round=7 phase=PLANUNG] wait 0.6
574.1 s #20 [round=7 phase=PLANUNG] move 1000 450
574.1 s #20 [round=7 phase=PLANUNG] wait 0.3
574.4 s #20 [round=7 phase=PLANUNG] shot 19-champions
588.5 s #21 [round=7 phase=PLANUNG] click 495 885
588.6 s #21 [round=7 phase=PLANUNG] wait 0.6
589.2 s #21 [round=7 phase=PLANUNG] move 1000 450
589.2 s #21 [round=7 phase=PLANUNG] wait 0.3
589.5 s #21 [round=7 phase=PLANUNG] shot 19-champions
604.0 s #22 [round=7 phase=PLANUNG] click 398 975
604.0 s #22 [round=7 phase=PLANUNG] wait 0.6
604.6 s #22 [round=7 phase=PLANUNG] move 1000 450
604.6 s #22 [round=7 phase=PLANUNG] wait 0.3
604.9 s #22 [round=7 phase=PLANUNG] shot 20-champion-gebucht
605.1 s #22 [round=7 phase=PLANUNG] key SPACE
605.2 s #22 [round=7 phase=KAMPF] wait 2
607.2 s #22 [round=7 phase=KAMPF] key F3
607.2 s #22 [round=7 phase=KAMPF] wait 22
640.0 s #23 [round=8 phase=PLANUNG] wait 12
664.3 s #24 [round=8 phase=PLANUNG] shot 21-welle8-ankuendigung
664.5 s #24 [round=8 phase=PLANUNG] click 270 589
664.5 s #24 [round=8 phase=PLANUNG] wait 0.4
664.9 s #24 [round=8 phase=PLANUNG] key 2
664.9 s #24 [round=8 phase=PLANUNG] wait 0.4
665.3 s #24 [round=8 phase=PLANUNG] move 1000 450
665.3 s #24 [round=8 phase=PLANUNG] key SPACE
665.3 s #24 [round=8 phase=KAMPF] wait 2
667.3 s #24 [round=8 phase=KAMPF] key F3
667.4 s #24 [round=8 phase=KAMPF] wait 10
677.4 s #24 [round=8 phase=KAMPF] shot 22-welle8-kampf-mid
677.5 s #24 [round=8 phase=KAMPF] wait 20
710.0 s #25 [round=9 phase=PLANUNG] wait 10
744.7 s #26 [round=9 phase=PLANUNG] shot 23-welle9-planung
744.9 s #26 [round=9 phase=PLANUNG] quit

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 510 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 449 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 523 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 515 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 497 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 522 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 550 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 472 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 544 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 519 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 484 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 569 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 655 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 533 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 669 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 664 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 636 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 666 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 706 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 650 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 606 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 693 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 680 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 610 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 713 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 548 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 539 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 546 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 535 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 466 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 602 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 548 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 476 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 455 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 505 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 541 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 509 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 541 KiB