35 lines
1.2 KiB
GDScript
35 lines
1.2 KiB
GDScript
class_name PawnBoostTile
|
|
extends Tile
|
|
|
|
func _init(button: Button, is_white: bool) -> void:
|
|
super._init(button, is_white)
|
|
tile_name = "Fire Wall"
|
|
description = "Captures any piece that moves through"
|
|
type = TileType.GENERAL
|
|
|
|
func update_appearance() -> void:
|
|
if is_effect_active() && base_button:
|
|
var style = StyleBoxFlat.new()
|
|
var tile_color = Color(1, 0.4, 0) # Orange for fire
|
|
var base_color = Color(0.8, 0.8, 0.8) if base_is_white else Color(0.2, 0.2, 0.2)
|
|
|
|
style.bg_color = Color(
|
|
(base_color.r + tile_color.r) / 2,
|
|
(base_color.g + tile_color.g) / 2,
|
|
(base_color.b + tile_color.b) / 2
|
|
)
|
|
|
|
# Thick border for danger
|
|
style.border_width_left = 5
|
|
style.border_width_right = 5
|
|
style.border_width_top = 5
|
|
style.border_width_bottom = 5
|
|
style.border_color = tile_color
|
|
|
|
base_button.add_theme_stylebox_override("normal", style)
|
|
|
|
var hover_style = style.duplicate()
|
|
hover_style.bg_color = tile_color.lightened(0.2)
|
|
base_button.add_theme_stylebox_override("hover", hover_style)
|
|
else:
|
|
restore_base_appearance()
|