update
This commit is contained in:
@@ -16,6 +16,7 @@ var game: Game
|
||||
var perspective: Game.Player # der Mensch, dessen Hand unten liegt
|
||||
var fx: BattleFx
|
||||
var selected = null # Game.Creature
|
||||
var hover_target = null # fremdes Wesen unter der Maus: Vorschau des Angriffs mit dem gewählten Wesen
|
||||
var fuse_first = null # Karte oder Wesen, für das im Menü „Verschmelzen mit …“ gewählt wurde
|
||||
var hold_time := 1.0 # so lange still über dem Ziel halten, dann verschmelzen die beiden
|
||||
var press_target = null # Karte oder Wesen unter der gedrückten linken Maustaste
|
||||
@@ -928,6 +929,23 @@ func matchup_for(cr: Game.Creature) -> int:
|
||||
return 0
|
||||
|
||||
|
||||
## Vorschau für den Angriff auf das Wesen unter der Maus: der Angreifer zeigt seinen Angriff mit
|
||||
## Elementvorteil, und wer dabei stirbt, bekommt die Marke. Verdeckte Ziele bleiben unbekannt.
|
||||
func update_attack_preview() -> void:
|
||||
var target = hover_target
|
||||
if selected == null or target == null or target.hidden or not game.can_attack(selected, target)[0]:
|
||||
target = null
|
||||
for v in enemy_views:
|
||||
v.doomed = target != null and v.creature == target and selected.power() + Game.matchup_bonus(selected, target) >= target.health
|
||||
v.queue_redraw()
|
||||
for v in own_views:
|
||||
var mine: bool = v.creature == selected
|
||||
v.attack_shift = Game.matchup_bonus(selected, target) if mine and target != null else 0
|
||||
var counter: int = target.power() + Game.matchup_bonus(target, selected) if target != null and target.power() > 0 else 0
|
||||
v.doomed = mine and target != null and counter >= selected.health
|
||||
v.queue_redraw()
|
||||
|
||||
|
||||
class Deck extends Control:
|
||||
signal clicked
|
||||
var enabled := true
|
||||
@@ -1078,6 +1096,8 @@ func refresh() -> void:
|
||||
tile_layer.add_child(tile)
|
||||
var looks: Dictionary = p.looks
|
||||
tile.hover.connect(func(card, entered):
|
||||
hover_target = tile.creature if entered else null
|
||||
update_attack_preview()
|
||||
if tile.secret:
|
||||
show_preview(null, false)
|
||||
else:
|
||||
@@ -1123,6 +1143,7 @@ func refresh() -> void:
|
||||
var t: CreatureView = tiles[uid]
|
||||
tiles.erase(uid)
|
||||
fx.fade_out(t)
|
||||
update_attack_preview()
|
||||
deck.visible = not spectating()
|
||||
deck.enabled = mine and g.can_draw(h)[0]
|
||||
deck.count = g.deck.size()
|
||||
|
||||
Reference in New Issue
Block a user