update
Some checks failed
Tests / headless (push) Has been cancelled
Tests / fenster-schnell (push) Has been cancelled
Tests / fenster-voll (push) Has been cancelled
Tests / balance (push) Has been cancelled

This commit is contained in:
team3
2026-10-06 18:16:17 +02:00
parent 0a612f91b3
commit 5bc8569717
15 changed files with 43 additions and 170 deletions

View File

@@ -40,10 +40,6 @@ func play_events(evs: Array, centers: Dictionary) -> void:
"reveal":
sfx("combo")
popup(tr("Aufgedeckt!"), Style.GOLD, screen.target_center({"kind": "creature", "uid": ev.uid}), 0.0)
"upgrade":
sfx("heal")
if ev.uid >= 0:
popup("+" + tr(ev.keyword), Style.GREEN, screen.target_center({"kind": "creature", "uid": ev.uid}), 0.0)
"fuse":
sfx("combo")
popup("Verschmolzen!", Style.PURPLE, screen.target_center({"kind": "player", "index": ev.player}), 0.0)

View File

@@ -661,21 +661,6 @@ func do_reveal(cr: Game.Creature) -> void:
after_action()
## Kauft eine Eigenschaft für eine Handkarte oder ein eigenes Wesen.
func do_upgrade(target, keyword: String) -> void:
clear_undo()
if is_client():
if target is Game.Creature:
net.send_action({"type": "upgrade", "uid": target.uid, "keyword": keyword})
else:
net.send_action({"type": "upgrade", "hand": perspective.hand.find(target), "keyword": keyword})
return
var err := game.upgrade(perspective, target, keyword)
if err != "":
say(tr(err))
after_action()
## Kartenmenü neben einer Handkarte oder einem eigenen Wesen. full: auch verschmelzen anbieten
## (Gamepad, das nicht ziehen kann).
func open_menu(target, anchor: Rect2, full: bool = false) -> void:
@@ -700,13 +685,9 @@ func open_menu(target, anchor: Rect2, full: bool = false) -> void:
fuse_first = target
say(tr("Ziel wählen"))
refresh(), not partners.is_empty()])
for kw in Cards.KEYWORDS:
var k: String = kw
var ok := game.can_upgrade(perspective, target, k)
var text := "%s ◆ %d" % [tr(k), game.upgrade_cost(perspective, k)]
if k in card.keywords:
text = "%s ✓" % tr(k)
entries.append([text, func(): do_upgrade(target, k), ok[0]])
if entries.is_empty(): # offenes eigenes Wesen per Maus: nichts zu wählen
close_menu()
return
var w := 230.0
var h := 18.0 + entries.size() * 44 + 34
var x := clampf(anchor.end.x + 8, 10, 1270 - w)

View File

@@ -81,7 +81,7 @@ func _draw() -> void:
var by := Style.fs(fs) + 13
draw_rect(Rect2(size.x - bw - 4, by, bw, 16), Color(0.05, 0.05, 0.08, 0.75))
Style.text(self, badge, 10, Style.GREEN if creature.aura > 0 else Style.RED, Vector2(size.x - 4 - bw / 2, by + 8), "center", true)
# Eigenschaften als Symbole: gekaufte weiß, die vom Elementpaar in der Elementfarbe
# Eigenschaften als Symbole in der Farbe des Elements, das sie gibt
var icon := 7.0 if small else 9.0
var kws := creature.keywords()
var avail := size.x - (bw + 8 if badge != "" else 0.0)
@@ -89,10 +89,9 @@ func _draw() -> void:
var y := Style.fs(fs) + 14 + icon
for k in kws:
var col := Color("f2f2f6")
if not (k in creature.card.keywords):
for e in creature.card.elements:
if Cards.ELEMENT_KEYWORD.get(e, "") == k:
col = Style.lighter(Cards.ELEMENT_COLORS[e], 0.45)
for e in creature.card.elements:
if Cards.ELEMENT_KEYWORD.get(e, "") == k:
col = Style.lighter(Cards.ELEMENT_COLORS[e], 0.45)
Style.keyword_icon(self, k, Vector2(x + icon, y), icon, col)
x += icon * 2 + 6
_draw_stats(15 if small else 17, 12.0 if small else 14.0)