This commit is contained in:
team3
2026-09-16 17:55:38 +02:00
parent c9416ed3c6
commit f012dd7cd5
17 changed files with 878 additions and 160 deletions

View File

@@ -112,6 +112,36 @@ func _process(d):
var before = main.train.consist.size()
main.sell_car(0)
chk("Wagen verkauft", main.train.consist.size() == before - 1)
# Lok verkaufen: Dampf-Veteran springt ein, Geld kommt zurueck
var m_before = main.money
main.request("sell_loco")
chk("Lok verkauft", main.train.loco_id == "steam", "loco=%s" % main.train.loco_id)
chk("Rücknahme gutgeschrieben", main.money - m_before == 6600, "+%d €" % (main.money - m_before))
main.buy_loco("express")
# Speichern und Laden
main.save_game()
var saved_money = main.money
var saved_consist = main.train.consist.duplicate()
var saved_seg = main.train.seg
var saved_prog = main.train.progress
main.money = 1
main.train.consist = ["coach"] as Array[String]
main.train.loco_id = "steam"
main._rebuild_train()
chk("Spielstand geladen", main.load_game())
chk("Geld wiederhergestellt", main.money == saved_money, "%d vs %d" % [main.money, saved_money])
chk("Zug wiederhergestellt", main.train.consist == saved_consist and main.train.loco_id == "express",
"%s %s" % [main.train.loco_id, main.train.consist])
chk("Position wiederhergestellt", main.train.seg == saved_seg and absf(main.train.progress - saved_prog) < 0.5)
# Ziele
main.tickets_checked = 10
var m_goal = main.money
main._check_goals()
chk("Ziel erreicht", main.goals_done.has("tickets10"))
chk("Belohnung gezahlt", main.money - m_goal == 250, "+%d €" % (main.money - m_goal))
chk("Ziele der Reihe nach", not main.goals_done.has("cargo30") and not main.won)
var g = main.current_goal()
chk("Nächstes Ziel im HUD", String(g.get("text", "")).begins_with("30 Einheiten"), "%s" % g)
wait = 0.3
7:
chk("Spieler im Zug", main.train.locate(main.player.s)["index"] == 0)
@@ -121,6 +151,9 @@ func _process(d):
wait = 3.0
8:
chk("Zug fährt", main.train.speed > 3.0, "v=%.1f m/s" % main.train.speed)
var e: Vector3 = main.train.cars[0].global_transform.basis.get_euler()
chk("Wagen wackelt bei Fahrt", absf(e.z) > 0.0005 or absf(e.x) > 0.0005,
"roll=%.4f pitch=%.4f" % [e.z, e.x])
_key(KEY_W, false)
_key(KEY_S, true)
wait = 4.0