Clarify recovery terrain markers
This commit is contained in:
@@ -99,6 +99,8 @@ const BATTLE_PRESENTATION_STEP_GAP := 0.08
|
||||
const BATTLE_PRESENTATION_FEEDBACK_LAG := 0.10
|
||||
const UNIT_MOVE_ANIMATION_DURATION := 0.18
|
||||
const UNIT_IDLE_PHASE_SPEED := 2.4
|
||||
const RECOVERY_TERRAIN_MARKER_SIZE := Vector2(30, 30)
|
||||
const RECOVERY_TERRAIN_AMOUNT_BADGE_SIZE := Vector2(24, 12)
|
||||
const TARGET_PREVIEW_BADGE_SIZE := Vector2(122, 24)
|
||||
const TARGET_PREVIEW_BADGE_ICON_SIZE := Vector2(18, 18)
|
||||
const HOVER_INFO_BADGE_ICON_SIZE := Vector2(19, 19)
|
||||
@@ -4986,16 +4988,39 @@ func _draw_recovery_terrain_markers(bounds: Rect2i) -> void:
|
||||
if marker_text.is_empty():
|
||||
continue
|
||||
var cell_rect := _rect_for_cell(cell)
|
||||
_draw_tile_marker("recover", cell_rect, Color(1.0, 1.0, 1.0, 0.34), 2.0)
|
||||
_draw_tile_marker("recover", cell_rect, _recovery_tile_marker_modulate(cell), 1.0)
|
||||
var marker_rect := _recovery_marker_rect(cell)
|
||||
draw_rect(marker_rect, Color(0.035, 0.022, 0.012, 0.74))
|
||||
draw_rect(marker_rect, Color(UI_OLD_BRONZE.r, UI_OLD_BRONZE.g, UI_OLD_BRONZE.b, 0.88), false, 1.4)
|
||||
if not _draw_map_badge("recover", marker_rect.grow(3.0), Color(1.0, 1.0, 1.0, 0.96)):
|
||||
draw_rect(marker_rect.grow(1.0), Color(0.018, 0.014, 0.010, 0.78))
|
||||
draw_rect(marker_rect.grow(1.0), Color(UI_OLD_BRONZE.r, UI_OLD_BRONZE.g, UI_OLD_BRONZE.b, 0.94), false, 1.6)
|
||||
if _draw_map_badge("recover", marker_rect.grow(2.0), Color(1.0, 1.0, 1.0, 0.98)):
|
||||
_draw_recovery_marker_amount(font, marker_rect, marker_text)
|
||||
else:
|
||||
var plus_center := marker_rect.position + Vector2(8.0, marker_rect.size.y * 0.5)
|
||||
var plus_color := Color(0.54, 0.86, 0.48, 0.92)
|
||||
draw_line(plus_center + Vector2(-3.0, 0.0), plus_center + Vector2(3.0, 0.0), plus_color, 1.6)
|
||||
draw_line(plus_center + Vector2(0.0, -3.0), plus_center + Vector2(0.0, 3.0), plus_color, 1.6)
|
||||
_draw_ink_text(font, marker_rect.position + Vector2(9.0, 13.0), marker_text, HORIZONTAL_ALIGNMENT_CENTER, marker_rect.size.x - 9.0, 11, Color(0.78, 0.98, 0.62, 0.96))
|
||||
_draw_recovery_marker_amount(font, marker_rect, marker_text)
|
||||
|
||||
|
||||
func _draw_recovery_marker_amount(font: Font, marker_rect: Rect2, marker_text: String) -> void:
|
||||
var text_rect := _recovery_marker_amount_rect(marker_rect)
|
||||
draw_rect(text_rect, Color(0.030, 0.018, 0.010, 0.82))
|
||||
draw_rect(text_rect, Color(0.58, 0.82, 0.42, 0.78), false, 1.0)
|
||||
_draw_ink_text(
|
||||
font,
|
||||
text_rect.position + Vector2(0.0, text_rect.size.y - 2.0),
|
||||
marker_text,
|
||||
HORIZONTAL_ALIGNMENT_CENTER,
|
||||
text_rect.size.x,
|
||||
10,
|
||||
Color(0.82, 1.0, 0.62, 0.98)
|
||||
)
|
||||
|
||||
|
||||
func _recovery_tile_marker_modulate(cell: Vector2i) -> Color:
|
||||
var heal := maxi(0, state.get_terrain_heal(cell))
|
||||
var alpha := 0.42 + minf(float(heal) * 0.012, 0.12)
|
||||
return Color(1.0, 1.0, 1.0, alpha)
|
||||
|
||||
|
||||
func _recovery_marker_text(cell: Vector2i) -> String:
|
||||
@@ -5007,10 +5032,18 @@ func _recovery_marker_text(cell: Vector2i) -> String:
|
||||
|
||||
func _recovery_marker_rect(cell: Vector2i) -> Rect2:
|
||||
var cell_rect := _rect_for_cell(cell)
|
||||
var size := Vector2(24.0, 24.0)
|
||||
var size := RECOVERY_TERRAIN_MARKER_SIZE
|
||||
return Rect2(cell_rect.position + Vector2(TILE_SIZE - size.x - 4.0, 4.0), size)
|
||||
|
||||
|
||||
func _recovery_marker_amount_rect(marker_rect: Rect2) -> Rect2:
|
||||
var size := RECOVERY_TERRAIN_AMOUNT_BADGE_SIZE
|
||||
return Rect2(
|
||||
marker_rect.position + Vector2((marker_rect.size.x - size.x) * 0.5, marker_rect.size.y - size.y - 1.0),
|
||||
size
|
||||
)
|
||||
|
||||
|
||||
func _draw_silk_map_frame(board_rect: Rect2) -> void:
|
||||
var padding := MAP_SCROLL_FRAME_PADDING
|
||||
var top_rod := Rect2(board_rect.position + Vector2(-padding, -padding), Vector2(board_rect.size.x + padding * 2.0, 7.0))
|
||||
|
||||
Reference in New Issue
Block a user