From 37cdf4d48acbdca93e302e2c3a2694e420a9d4fb Mon Sep 17 00:00:00 2001
From: Alan <alanjfogel@gmail.com>
Date: Fri, 31 Jan 2025 20:41:57 -0600
Subject: [PATCH] Fixed pawn to queen upgrade bug

---
 .godot/editor/editor_layout.cfg               |  10 +--
 .godot/editor/filesystem_cache8               |  59 +++++++++---------
 .godot/editor/filesystem_update4              |  13 +---
 ...state-c2a7af834e91ff64325daddf58e45dc0.cfg |   2 +-
 .godot/editor/script_editor_cache.cfg         |  14 ++---
 .godot/uid_cache.bin                          | Bin 3394 -> 3394 bytes
 scripts/game.gd                               |  13 +++-
 7 files changed, 57 insertions(+), 54 deletions(-)

diff --git a/.godot/editor/editor_layout.cfg b/.godot/editor/editor_layout.cfg
index 6c57394..9d4d81b 100644
--- a/.godot/editor/editor_layout.cfg
+++ b/.godot/editor/editor_layout.cfg
@@ -6,7 +6,7 @@ dock_5_selected_tab_idx=0
 dock_floating={}
 dock_bottom=[]
 dock_closed=[]
-dock_split_2=0
+dock_split_2=278
 dock_split_3=0
 dock_hsplit_1=0
 dock_hsplit_2=270
@@ -26,11 +26,11 @@ dock_5="Inspector,Node,History"
 [EditorNode]
 
 open_scenes=PackedStringArray("res://scenes/game.tscn", "res://scenes/explosion.tscn", "res://scenes/Pawn.tscn", "res://scenes/Rook.tscn", "res://scenes/Bishop.tscn", "res://scenes/Queen.tscn", "res://scenes/King.tscn", "res://scenes/Knight.tscn", "res://scenes/Assassin.tscn", "res://scenes/Mage.tscn", "res://scenes/Wizard.tscn")
-current_scene="res://scenes/Wizard.tscn"
-center_split_offset=-419
-selected_default_debugger_tab_idx=1
+current_scene="res://scenes/Pawn.tscn"
+center_split_offset=-362
+selected_default_debugger_tab_idx=0
 selected_main_editor_idx=2
-selected_bottom_panel_item=1
+selected_bottom_panel_item=0
 
 [ScriptEditor]
 
diff --git a/.godot/editor/filesystem_cache8 b/.godot/editor/filesystem_cache8
index 77cd5cc..662c826 100644
--- a/.godot/editor/filesystem_cache8
+++ b/.godot/editor/filesystem_cache8
@@ -1,5 +1,5 @@
 ea4bc82a6ad023ab7ee23ee620429895
-::res://::1738360214
+::res://::1738376336
 game.tscn::PackedScene::5692118487183161714::1738358720::0::1::::<><>::uid://cfao716v0t1jw::::res://scenes/board.tscn
 icon.svg::CompressedTexture2D::6378281210119878262::1737912187::1738338716::1::::<><>::
 README.md::TextFile::-1::1737912187::0::1::::<><>::
@@ -30,17 +30,17 @@ White_knight.png::CompressedTexture2D::854350289879594279::1738358720::173836019
 White_Pawn.png::CompressedTexture2D::919180529085242722::1738358720::1738360196::1::::<><>::
 White_Queen.png::CompressedTexture2D::4902137832695542513::1738358720::1738360196::1::::<><>::
 White_rook.png::CompressedTexture2D::4194129281780453908::1738358720::1738360196::1::::<><>::
-::res://assets/shaders/::1738373236
-bg.gdshader::Shader::-1::1738373236::0::1::::<><>::
-color.gdshader::Shader::-1::1738373236::0::1::::<><>::
-shadow.gdshader::Shader::-1::1738373236::0::1::::<><>::
+::res://assets/shaders/::1738376333
+bg.gdshader::Shader::-1::1738376333::0::1::::<><>::
+color.gdshader::Shader::-1::1738376333::0::1::::<><>::
+shadow.gdshader::Shader::-1::1738376333::0::1::::<><>::
 ::res://assets/sprites/::1738360196
 bishop.png::CompressedTexture2D::4631301773944929250::1738358798::1738360196::1::::<><>::
 knight.png::CompressedTexture2D::3545640967717948854::1738358798::1738360196::1::::<><>::
 pawn.png::CompressedTexture2D::1338760335342038528::1738358798::1738360195::1::::<><>::
 rook.png::CompressedTexture2D::6790909281007670776::1738358798::1738360195::1::::<><>::
 tile.png::CompressedTexture2D::8704336058451696509::1738358570::1738360195::1::::<><>::
-::res://assets/temp_assets/::1738373277
+::res://assets/temp_assets/::1738373374
 assassin.png::CompressedTexture2D::2309680507621369322::1738360966::1738361001::1::::<><>::
 black_bishop.png::CompressedTexture2D::7509881182472568151::1738358720::1738360195::1::::<><>::
 black_king.png::CompressedTexture2D::3646032776351028361::1738358720::1738360195::1::::<><>::
@@ -64,28 +64,29 @@ wizard.png::CompressedTexture2D::2759604866355024615::1738373264::1738373374::1:
 Go_Save_The_King_Menu.jpg::CompressedTexture2D::7252735845995868232::1738358720::1738360196::1::::<><>::
 Mockup Gameplay Design.jpg::CompressedTexture2D::4859609684236806088::1738358720::1738360196::1::::<><>::
 Mockup Shop Design.jpg::CompressedTexture2D::8043055154093708922::1738358720::1738360196::1::::<><>::
-::res://scenes/::1738373236
-Bishop.tscn::PackedScene::2789588702038144760::1738373236::0::1::::<><>::res://scripts/Bishop.gd<>uid://b68o4mj7wcwvq::::res://assets/sprites/bishop.png
+::res://scenes/::1738376254
+Assassin.tscn::PackedScene::1241611789899982875::1738376254::0::1::::<><>::res://scripts/Assassin.gd<>uid://753dogr1moxe::::res://assets/temp_assets/assassin.png
+Bishop.tscn::PackedScene::2789588702038144760::1738376253::0::1::::<><>::res://scripts/Bishop.gd<>uid://b68o4mj7wcwvq::::res://assets/sprites/bishop.png
 board.tscn::PackedScene::5124694183364421304::1738358720::0::1::::<><>::uid://b0px5wlrm0mb3::::res://assets/temp_assets/temp_chess_board.png<>res://scripts/board.gd
-explosion.tscn::PackedScene::69466253159940830::1738373235::0::1::::<><>::
-game.tscn::PackedScene::8577524005707705072::1738373235::0::1::::<><>::res://scripts/game.gd<>res://assets/shaders/bg.gdshader<>uid://yeqb8ndri7xp::::res://assets/noise/noise.tres<>uid://ceas3dsjeq4ge::::res://assets/noise/noise2.tres<>uid://m6ki73qfbp2s::::res://assets/noise/noise3.tres
-King.tscn::PackedScene::8277830396459966414::1738373236::0::1::::<><>::res://scripts/King.gd<>uid://cdogixbq8ay3t::::res://assets/Resized Chess Piece Assets/White_king.png
-Knight.tscn::PackedScene::5270730075267457303::1738373236::0::1::::<><>::res://scripts/Knight.gd<>uid://mf4a3jclbwih::::res://assets/Resized Chess Piece Assets/White_knight.png
-Pawn.tscn::PackedScene::3675784333675896641::1738373235::0::1::::<><>::res://scripts/Pawn.gd<>uid://ndi1e8thkonq::::res://assets/Resized Chess Piece Assets/White_Pawn.png
-Queen.tscn::PackedScene::7495869360053814603::1738373236::0::1::::<><>::res://scripts/Queen.gd<>uid://cb3vq168iyomb::::res://assets/Resized Chess Piece Assets/White_Queen.png
-Assassin.tscn::PackedScene::1241611789899982875::1738373236::0::1::::<><>::res://scripts/Assassin.gd<>uid://753dogr1moxe::::res://assets/temp_assets/assassin.png
-Mage.tscn::PackedScene::10334063134713649::1738373236::0::1::::<><>::res://scripts/Mage.gd<>uid://b7iyt4iwjbtd0::::res://assets/temp_assets/mage.png
-Rook.tscn::PackedScene::9162401199636684468::1738373236::0::1::::<><>::uid://b00wxxfjk04ke::::res://assets/Resized Chess Piece Assets/White_rook.png
+explosion.tscn::PackedScene::69466253159940830::1738376253::0::1::::<><>::
+game.tscn::PackedScene::8577524005707705072::1738376253::0::1::::<><>::res://scripts/game.gd<>res://assets/shaders/bg.gdshader<>uid://yeqb8ndri7xp::::res://assets/noise/noise.tres<>uid://ceas3dsjeq4ge::::res://assets/noise/noise2.tres<>uid://m6ki73qfbp2s::::res://assets/noise/noise3.tres
+King.tscn::PackedScene::8277830396459966414::1738376254::0::1::::<><>::res://scripts/King.gd<>uid://cdogixbq8ay3t::::res://assets/Resized Chess Piece Assets/White_king.png
+Knight.tscn::PackedScene::5270730075267457303::1738376254::0::1::::<><>::res://scripts/Knight.gd<>uid://mf4a3jclbwih::::res://assets/Resized Chess Piece Assets/White_knight.png
+Mage.tscn::PackedScene::10334063134713649::1738376254::0::1::::<><>::res://scripts/Mage.gd<>uid://b7iyt4iwjbtd0::::res://assets/temp_assets/mage.png
+Pawn.tscn::PackedScene::3675784333675896641::1738376253::0::1::::<><>::res://scripts/Pawn.gd<>uid://ndi1e8thkonq::::res://assets/Resized Chess Piece Assets/White_Pawn.png
+Queen.tscn::PackedScene::7495869360053814603::1738376254::0::1::::<><>::res://scripts/Queen.gd<>uid://cb3vq168iyomb::::res://assets/Resized Chess Piece Assets/White_Queen.png
+Rook.tscn::PackedScene::9162401199636684468::1738376253::0::1::::<><>::uid://b00wxxfjk04ke::::res://assets/Resized Chess Piece Assets/White_rook.png
 texture_holder.tscn::PackedScene::594714386286134588::1738358720::0::1::::<><>::
-::res://scripts/::1738373287
-Bishop.gd::GDScript::-1::1738358720::0::1::::Bishop<>Piece<>::
-King.gd::GDScript::-1::1738358720::0::1::::King<>Piece<>::
-Knight.gd::GDScript::-1::1738358802::0::1::::Knight<>Piece<>::
-Pawn.gd::GDScript::-1::1738366967::0::1::::Pawn<>Piece<>::
-Piece.gd::GDScript::-1::1738358720::0::1::::Piece<>Node2D<>::
-Queen.gd::GDScript::-1::1738358720::0::1::::Queen<>Piece<>::
-Assassin.gd::GDScript::-1::1738361495::0::1::::Assassin<>Piece<>::
-game.gd::GDScript::-1::1738373366::0::1::::game<>Node<>::
-Mage.gd::GDScript::-1::1738367776::0::1::::Mage<>Piece<>::
-Wizard.gd::GDScript::-1::1738373371::0::1::::Wizard<>Piece<>::
-Rook.gd::GDScript::-1::1738358720::0::1::::Rook<>Piece<>::
+Wizard.tscn::PackedScene::6352212773395470747::1738376254::0::1::::<><>::res://scripts/Wizard.gd<>uid://bfk1j3brcknkp::::res://assets/temp_assets/wizard.png
+::res://scripts/::1738376307
+Assassin.gd::GDScript::-1::1738373911::0::1::::Assassin<>Piece<>::
+Bishop.gd::GDScript::-1::1738373812::0::1::::Bishop<>Piece<>::
+game.gd::GDScript::-1::1738376326::0::1::::game<>Node<>::
+King.gd::GDScript::-1::1738373926::0::1::::King<>Piece<>::
+Knight.gd::GDScript::-1::1738375042::0::1::::Knight<>Piece<>::
+Mage.gd::GDScript::-1::1738373960::0::1::::Mage<>Piece<>::
+Pawn.gd::GDScript::-1::1738373968::0::1::::Pawn<>Piece<>::
+Piece.gd::GDScript::-1::1738376307::0::1::::Piece<>Node2D<>::
+Queen.gd::GDScript::-1::1738373933::0::1::::Queen<>Piece<>::
+Rook.gd::GDScript::-1::1738373976::0::1::::Rook<>Piece<>::
+Wizard.gd::GDScript::-1::1738373837::0::1::::Wizard<>Piece<>::
diff --git a/.godot/editor/filesystem_update4 b/.godot/editor/filesystem_update4
index c07f4fa..cce9635 100644
--- a/.godot/editor/filesystem_update4
+++ b/.godot/editor/filesystem_update4
@@ -12,17 +12,8 @@ res://scenes/Bishop.tscn
 res://scenes/Queen.tscn
 res://scenes/King.tscn
 res://scenes/Knight.tscn
-res://scripts/Rook.gd
-res://scripts/Bishop.gd
-res://scripts/Assassin.gd
-res://scripts/game.gd
 res://scenes/Assassin.tscn
-res://scripts/Pawn.gd
-res://scripts/Mage.gd
 res://scenes/Mage.tscn
-res://scripts/Wizard.gd
 res://scenes/Wizard.tscn
-res://scripts/Piece.gd
-res://scripts/Knight.gd
-res://scripts/King.gd
-res://scripts/Queen.gd
+res://scripts/Bishop.gd
+res://scripts/game.gd
diff --git a/.godot/editor/game.tscn-editstate-c2a7af834e91ff64325daddf58e45dc0.cfg b/.godot/editor/game.tscn-editstate-c2a7af834e91ff64325daddf58e45dc0.cfg
index 5ed3fa2..2309a88 100644
--- a/.godot/editor/game.tscn-editstate-c2a7af834e91ff64325daddf58e45dc0.cfg
+++ b/.godot/editor/game.tscn-editstate-c2a7af834e91ff64325daddf58e45dc0.cfg
@@ -175,4 +175,4 @@ Anim={
 "zfar": 4000.01,
 "znear": 0.05
 }
-selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@16886/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@PanelContainer@98/MainScreen/@CanvasItemEditor@9272/@VSplitContainer@9094/@HSplitContainer@9096/@HSplitContainer@9098/@Control@9099/@SubViewportContainer@9100/@SubViewport@9101/Node2D")])
+selected_nodes=Array[NodePath]([])
diff --git a/.godot/editor/script_editor_cache.cfg b/.godot/editor/script_editor_cache.cfg
index ead8a94..fb30dbd 100644
--- a/.godot/editor/script_editor_cache.cfg
+++ b/.godot/editor/script_editor_cache.cfg
@@ -3,11 +3,11 @@
 state={
 "bookmarks": PackedInt32Array(),
 "breakpoints": PackedInt32Array(),
-"column": 3,
+"column": 26,
 "folded_lines": Array[int]([]),
 "h_scroll_position": 0,
-"row": 151,
-"scroll_position": 143.0,
+"row": 53,
+"scroll_position": 53.0,
 "selection": false,
 "syntax_highlighter": "GDScript"
 }
@@ -21,7 +21,7 @@ state={
 "folded_lines": Array[int]([]),
 "h_scroll_position": 0,
 "row": 13,
-"scroll_position": 5.0,
+"scroll_position": 4.0,
 "selection": false,
 "syntax_highlighter": "GDScript"
 }
@@ -34,8 +34,8 @@ state={
 "column": 0,
 "folded_lines": Array[int]([]),
 "h_scroll_position": 0,
-"row": 51,
-"scroll_position": 41.0,
+"row": 12,
+"scroll_position": 2.0,
 "selection": false,
 "syntax_highlighter": "GDScript"
 }
@@ -119,7 +119,7 @@ state={
 "folded_lines": Array[int]([]),
 "h_scroll_position": 0,
 "row": 49,
-"scroll_position": 26.0,
+"scroll_position": 0.0,
 "selection": false,
 "syntax_highlighter": "GDScript"
 }
diff --git a/.godot/uid_cache.bin b/.godot/uid_cache.bin
index cef72022d8beb1cfc7c8242615506193ffa2f3d2..2341a291453827765937817b4fb0a19c108f8c4c 100644
GIT binary patch
delta 57
zcmV-90LK5q8p0Z|&IXf73^B9L1~&ndpbRau1qcZOlkW^KlMV`<lX?s$ldB5Wlg$hw
PlYtA9lO7EulN1a!S&|dD

delta 76
zcmV-S0JHzX8p0Z|&IYsp1~&n-V+aWXlbZ^ilU@tflU59qlMM|ulg<V)lQ;_|38QXg
i=o8C{Kp~TG2OJ1(VP|D7aBgRlGz=n>Yzi-v=?o-F<QqKz

diff --git a/scripts/game.gd b/scripts/game.gd
index 307f94e..3011c2b 100644
--- a/scripts/game.gd
+++ b/scripts/game.gd
@@ -112,13 +112,24 @@ func _process(delta: float) -> void:
 		else:
 			moving = false
 			unselect_piece()
+
 	if selected_piece != null:
 		# If the selected piece is a pawn and it reaches the end of the board, promote it to a queen
 		if selected_piece_position.y == 0:
 			if selected_piece_value is Pawn:
 					if selected_piece_value.is_white:
-						draw_pieces()
+						# draw_pieces()
 						selected_piece.queue_free()
+						board[selected_piece_position.x][selected_piece_position.y] = Queen.new(true, selected_piece_position)
+						var piece_scene = preload("res://scenes/Queen.tscn")
+						var piece_instance = piece_scene.instantiate()
+						piece_instance.position = Vector2((selected_piece_position.x * tile_size) + tile_size/2.0, (selected_piece_position.y * tile_size) + tile_size/2.0)
+						piece_instance.z_index = 3
+						piece_instance.scale = Vector2(1.25, 1.25)  # Scale other pieces by 25%
+						piece_container.add_child(piece_instance)
+						explosion_effect.position = piece_instance.position + translate()
+						explosion_effect.restart()
+
 						# remove_piece(selected_piece_position.x, selected_piece_position.y)
 
 
-- 
GitLab