diff --git a/.godot/editor/3d_effect.gdshader-folding-9bf453877cb14be294160e7d070a065c.cfg b/.godot/editor/3d_effect.gdshader-folding-9bf453877cb14be294160e7d070a065c.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e860dd492d4a81a2c71efd56de0fbc8363005a6f --- /dev/null +++ b/.godot/editor/3d_effect.gdshader-folding-9bf453877cb14be294160e7d070a065c.cfg @@ -0,0 +1,3 @@ +[folding] + +sections_unfolded=PackedStringArray() diff --git a/.godot/editor/editor_layout.cfg b/.godot/editor/editor_layout.cfg index c33d6c1d96fac56366f133a3b9a02777af636355..088b37c9621f8e2e54fe83d5e84aec20cba3a53a 100644 --- a/.godot/editor/editor_layout.cfg +++ b/.godot/editor/editor_layout.cfg @@ -6,36 +6,58 @@ 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 +<<<<<<< HEAD dock_hsplit_2=498 dock_hsplit_3=-380 +======= +dock_hsplit_2=270 +dock_hsplit_3=-254 +>>>>>>> 37cdf4d48acbdca93e302e2c3a2694e420a9d4fb dock_hsplit_4=0 dock_filesystem_h_split_offset=240 dock_filesystem_v_split_offset=0 dock_filesystem_display_mode=0 dock_filesystem_file_sort=0 dock_filesystem_file_list_display_mode=1 +<<<<<<< HEAD dock_filesystem_selected_paths=PackedStringArray("res://scenes/title_screen.tscn") dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://scripts/", "res://scenes/", "res://scenes/ui/") +======= +dock_filesystem_selected_paths=PackedStringArray("res://assets/") +dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://scripts/", "res://scenes/") +>>>>>>> 37cdf4d48acbdca93e302e2c3a2694e420a9d4fb dock_3="Scene,Import" dock_4="FileSystem" dock_5="Inspector,Node,History" [EditorNode] +<<<<<<< HEAD open_scenes=PackedStringArray("res://main.tscn", "res://scenes/title_screen.tscn", "res://scenes/scene_manager.tscn") current_scene="res://main.tscn" center_split_offset=-239 selected_default_debugger_tab_idx=1 +======= +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/Pawn.tscn" +center_split_offset=-362 +selected_default_debugger_tab_idx=0 +>>>>>>> 37cdf4d48acbdca93e302e2c3a2694e420a9d4fb selected_main_editor_idx=2 selected_bottom_panel_item=0 [ScriptEditor] +<<<<<<< HEAD open_scripts=["res://scripts/title_screen/menu_button.gd", "res://scripts/scene_manager.gd", "res://scripts/title_screen/title_screen.gd"] selected_script="res://scripts/scene_manager.gd" +======= +open_scripts=["res://scripts/Assassin.gd", "res://scripts/Bishop.gd", "res://scripts/game.gd", "res://scripts/King.gd", "res://scripts/Knight.gd", "res://scripts/Mage.gd", "res://scripts/Pawn.gd", "res://scripts/Piece.gd", "res://scripts/Queen.gd", "res://scripts/Rook.gd", "res://scripts/Wizard.gd"] +selected_script="res://scripts/game.gd" +>>>>>>> 37cdf4d48acbdca93e302e2c3a2694e420a9d4fb open_help=[] script_split_offset=70 list_split_offset=0 diff --git a/.godot/editor/filesystem_cache8 b/.godot/editor/filesystem_cache8 index f9299dafe35258cc526ec0b0412ff27b962623a3..71efc4530b38b12b14d119dd7103f0af329da22e 100644 --- a/.godot/editor/filesystem_cache8 +++ b/.godot/editor/filesystem_cache8 @@ -1,4 +1,5 @@ ea4bc82a6ad023ab7ee23ee620429895 +<<<<<<< HEAD ::res://::1738616718 icon.svg::CompressedTexture2D::6378281210119878262::1738615861::1738615874::1::::<><>:: main.tscn::PackedScene::5692118487183161714::1738615882::0::1::::<><>::uid://cu7lkx15lmfww::::res://scenes/scene_manager.tscn @@ -101,3 +102,96 @@ scene_manager.gd::GDScript::-1::1738615861::0::1::::<>Node<>:: ::res://scripts/title_screen/::1738615861 menu_button.gd::GDScript::-1::1738615861::0::1::::TitleButton<>Button<>:: title_screen.gd::GDScript::-1::1738615861::0::1::::TitleScreen<>Control<>:: +======= +::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::::<><>:: +::res://assets/::1738358720 +::res://assets/noise/::1738360218 +noise2.tres::NoiseTexture2D::5054739835828921764::1738360218::0::1::::<><>:: +noise3.tres::NoiseTexture2D::906885015046579772::1738360218::0::1::::<><>:: +noise.tres::NoiseTexture2D::1693764769519573005::1738360218::0::1::::<><>:: +::res://assets/Original size Chess pieces/::1738360196 +Black king piece 2.png::CompressedTexture2D::7820367427145083060::1738358720::1738360196::1::::<><>:: +Black knight piece.png::CompressedTexture2D::4196515762256027844::1738358720::1738360196::1::::<><>:: +Black Pawn Piece 2.png::CompressedTexture2D::2167440687080906934::1738358720::1738360196::1::::<><>:: +Black Queen Piece 2.png::CompressedTexture2D::6638986330393441989::1738358720::1738360196::1::::<><>:: +Black rook piece.png::CompressedTexture2D::1872655759582013005::1738358720::1738360196::1::::<><>:: +White king piece 2.png::CompressedTexture2D::7139286146806283259::1738358720::1738360196::1::::<><>:: +White knight piece.png::CompressedTexture2D::8293368904171920332::1738358720::1738360196::1::::<><>:: +White Pawn Piece 2.png::CompressedTexture2D::8915038826611091975::1738358720::1738360196::1::::<><>:: +White Queen Piece 2.png::CompressedTexture2D::339041922548181320::1738358720::1738360196::1::::<><>:: +White rook piece.png::CompressedTexture2D::6272641373813891014::1738358720::1738360196::1::::<><>:: +::res://assets/Resized Chess Piece Assets/::1738360196 +Black_king.png::CompressedTexture2D::3691390456247856410::1738358720::1738360196::1::::<><>:: +Black_knight.png::CompressedTexture2D::3569790831830215405::1738358720::1738360196::1::::<><>:: +Black_Pawn.png::CompressedTexture2D::4947090234957464596::1738358720::1738360196::1::::<><>:: +Black_Queen.png::CompressedTexture2D::9042903626319350434::1738358720::1738360196::1::::<><>:: +Black_rook.png::CompressedTexture2D::5637903285567075872::1738358720::1738360196::1::::<><>:: +White_king.png::CompressedTexture2D::5012688985517926395::1738358720::1738360196::1::::<><>:: +White_knight.png::CompressedTexture2D::854350289879594279::1738358720::1738360196::1::::<><>:: +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/::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/::1738373374 +assassin.png::CompressedTexture2D::2309680507621369322::1738360966::1738361001::1::::<><>:: +black_bishop.png::CompressedTexture2D::7509881182472568151::1738358720::1738360195::1::::<><>:: +black_king.png::CompressedTexture2D::3646032776351028361::1738358720::1738360195::1::::<><>:: +black_knight.png::CompressedTexture2D::4591257172048987833::1738358720::1738360195::1::::<><>:: +black_pawn.png::CompressedTexture2D::3912668014183198267::1738358720::1738360195::1::::<><>:: +black_queen.png::CompressedTexture2D::7989886812523566234::1738358720::1738360195::1::::<><>:: +black_rook.png::CompressedTexture2D::8767708966549765967::1738358720::1738360195::1::::<><>:: +mage.png::CompressedTexture2D::4650471376600460963::1738367395::1738367411::1::::<><>:: +Piece_move.png::CompressedTexture2D::260618725614842917::1738358720::1738360195::1::::<><>:: +temp_chess_board.png::CompressedTexture2D::4173558678901569366::1738358720::1738360195::1::::<><>:: +turn-black.png::CompressedTexture2D::7112033964315790810::1738358720::1738360195::1::::<><>:: +turn-white.png::CompressedTexture2D::7344907768700758025::1738358720::1738360196::1::::<><>:: +white_bishop.png::CompressedTexture2D::8093744356261485644::1738358720::1738360196::1::::<><>:: +white_king.png::CompressedTexture2D::5901183203660598461::1738358720::1738360196::1::::<><>:: +white_knight.png::CompressedTexture2D::7533630084821562912::1738358720::1738360196::1::::<><>:: +white_pawn.png::CompressedTexture2D::8196778834906249875::1738358720::1738360196::1::::<><>:: +white_queen.png::CompressedTexture2D::1957958042777204643::1738358720::1738360196::1::::<><>:: +white_rook.png::CompressedTexture2D::3317152307554436932::1738358720::1738360196::1::::<><>:: +wizard.png::CompressedTexture2D::2759604866355024615::1738373264::1738373374::1::::<><>:: +::res://assets/ui/::1738360196 +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/::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::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::::<><>:: +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<>:: +>>>>>>> 37cdf4d48acbdca93e302e2c3a2694e420a9d4fb diff --git a/.godot/editor/filesystem_update4 b/.godot/editor/filesystem_update4 index 3c8cbef9fcc16e61188a83ad4f0f5b9425e859f8..352b75c0e22b4674f31b2dc97ef9e7cf1ce0add0 100644 --- a/.godot/editor/filesystem_update4 +++ b/.godot/editor/filesystem_update4 @@ -1,3 +1,4 @@ +<<<<<<< HEAD res://main.tscn res://assets/shaders/3d_effect.gdshader res://assets/shaders/shadow.gdshader @@ -6,3 +7,24 @@ res://assets/shaders/color.gdshader res://scripts/scene_manager.gd res://scenes/title_screen.tscn res://scenes/scene_manager.tscn +======= +res://scenes/game.tscn +res://assets/shaders/color.gdshader +res://assets/shaders/shadow.gdshader +res://assets/shaders/bg.gdshader +res://assets/noise/noise.tres +res://assets/noise/noise2.tres +res://assets/noise/noise3.tres +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 +res://scripts/Bishop.gd +res://scripts/game.gd +>>>>>>> 37cdf4d48acbdca93e302e2c3a2694e420a9d4fb diff --git a/.godot/editor/game.tscn-editstate-c2a7af834e91ff64325daddf58e45dc0.cfg b/.godot/editor/game.tscn-editstate-c2a7af834e91ff64325daddf58e45dc0.cfg index 9d9ee14e5dbe61a0a4bf9771eddb549e74778293..83139db4abf5fcfea781e3a0c0da5093428cac26 100644 --- a/.godot/editor/game.tscn-editstate-c2a7af834e91ff64325daddf58e45dc0.cfg +++ b/.godot/editor/game.tscn-editstate-c2a7af834e91ff64325daddf58e45dc0.cfg @@ -8,7 +8,7 @@ Anim={ "grid_snap_active": false, "grid_step": Vector2(8, 8), "grid_visibility": 1, -"ofs": Vector2(-1180.52, -464.792), +"ofs": Vector2(-1092.7, -448.319), "primary_grid_step": Vector2i(8, 8), "show_group_gizmos": true, "show_guides": true, @@ -34,7 +34,7 @@ Anim={ "snap_rotation_step": 0.261799, "snap_scale": false, "snap_scale_step": 0.1, -"zoom": 0.529732 +"zoom": 0.471937 } 3D={ "fov": 70.01, @@ -175,4 +175,8 @@ Anim={ "zfar": 4000.01, "znear": 0.05 } +<<<<<<< HEAD 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/Main")]) +======= +selected_nodes=Array[NodePath]([]) +>>>>>>> 37cdf4d48acbdca93e302e2c3a2694e420a9d4fb diff --git a/.godot/editor/game.tscn-folding-c2a7af834e91ff64325daddf58e45dc0.cfg b/.godot/editor/game.tscn-folding-c2a7af834e91ff64325daddf58e45dc0.cfg index 892d185386b625ec13ffd804bc68044c71b139b5..07cfab693d5e7f555cd205d58148529c48f55cdc 100644 --- a/.godot/editor/game.tscn-folding-c2a7af834e91ff64325daddf58e45dc0.cfg +++ b/.godot/editor/game.tscn-folding-c2a7af834e91ff64325daddf58e45dc0.cfg @@ -1,5 +1,5 @@ [folding] -node_unfolds=[NodePath("."), PackedStringArray("opponent_shader", "Editor Description"), NodePath("ShadowContainer"), PackedStringArray("Ordering"), NodePath("TileContainer"), PackedStringArray("Transform", "Ordering"), NodePath("PieceContainer"), PackedStringArray("Ordering", "Process", "Texture"), NodePath("Background"), PackedStringArray("Layout", "material", "Ordering", "Layout/Transform", "Layout/Grow Direction", "Layout/Container Sizing", "Layout/Anchor Points", "Layout/Anchor Offsets", "Texture"), NodePath("Explosion"), PackedStringArray("Ordering", "Transform", "Scale", "Time")] +node_unfolds=[NodePath("."), PackedStringArray("opponent_shader", "Editor Description"), NodePath("ShadowContainer"), PackedStringArray("Ordering"), NodePath("TileContainer"), PackedStringArray("Transform", "Ordering"), NodePath("PieceContainer"), PackedStringArray("Ordering", "Process", "Texture"), NodePath("Background"), PackedStringArray("Layout", "material", "Ordering", "Layout/Transform", "Layout/Grow Direction", "Layout/Container Sizing", "Layout/Anchor Points", "Layout/Anchor Offsets", "Texture"), NodePath("Explosion"), PackedStringArray("Ordering", "Transform", "Scale", "Time"), NodePath("PlayerPieces"), PackedStringArray("Transform"), NodePath("OpponentPieces"), PackedStringArray("Visibility", "Transform")] resource_unfolds=["res://scenes/game.tscn::ShaderMaterial_gdbwp", PackedStringArray("Shader Parameters", "Resource")] nodes_folded=[] diff --git a/.godot/editor/main.tscn-editstate-3070c538c03ee49b7677ff960a3f5195.cfg b/.godot/editor/main.tscn-editstate-3070c538c03ee49b7677ff960a3f5195.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b8840033cf8e9e86c9b8c2818c6c75df406d74ee --- /dev/null +++ b/.godot/editor/main.tscn-editstate-3070c538c03ee49b7677ff960a3f5195.cfg @@ -0,0 +1,178 @@ +[editor_states] + +Anim={ +"visible": false +} +2D={ +"grid_offset": Vector2(0, 0), +"grid_snap_active": false, +"grid_step": Vector2(8, 8), +"grid_visibility": 1, +"ofs": Vector2(-180, -125), +"primary_grid_step": Vector2i(8, 8), +"show_group_gizmos": true, +"show_guides": true, +"show_helpers": false, +"show_lock_gizmos": true, +"show_origin": true, +"show_position_gizmos": true, +"show_rulers": true, +"show_transformation_gizmos": true, +"show_viewport": true, +"show_zoom_control": true, +"smart_snap_active": false, +"snap_guides": true, +"snap_node_anchors": true, +"snap_node_center": true, +"snap_node_parent": true, +"snap_node_sides": true, +"snap_other_nodes": true, +"snap_pixel": true, +"snap_relative": false, +"snap_rotation": false, +"snap_rotation_offset": 0.0, +"snap_rotation_step": 0.261799, +"snap_scale": false, +"snap_scale_step": 0.1, +"zoom": 0.25 +} +3D={ +"fov": 70.01, +"gizmos_status": { +"AudioListener3D": 0, +"AudioStreamPlayer3D": 0, +"CPUParticles3D": 0, +"CSGShape3D": 0, +"Camera3D": 0, +"CollisionObject3D": 0, +"CollisionPolygon3D": 0, +"CollisionShape3D": 0, +"Decal": 0, +"FogVolume": 0, +"GPUParticles3D": 0, +"GPUParticlesCollision3D": 0, +"Joint3D": 0, +"Light3D": 0, +"LightmapGI": 0, +"LightmapProbe": 0, +"Marker3D": 0, +"MeshInstance3DCustomAABB": 0, +"NavigationLink3D": 0, +"NavigationRegion3D": 0, +"OccluderInstance3D": 0, +"Path3D": 0, +"PhysicalBone3D": 0, +"RayCast3D": 0, +"ReflectionProbe": 0, +"ShapeCast3D": 0, +"Skeleton3D": 0, +"SoftBody3D": 0, +"SpringArm3D": 0, +"VehicleWheel3D": 0, +"VisibleOnScreenNotifier3D": 0, +"VoxelGI": 0 +}, +"local_coords": false, +"preview_sun_env": { +"environ_ao_enabled": false, +"environ_enabled": true, +"environ_energy": 1.0, +"environ_gi_enabled": false, +"environ_glow_enabled": false, +"environ_ground_color": Color(0.2, 0.169, 0.133, 1), +"environ_sky_color": Color(0.385, 0.454, 0.55, 1), +"environ_tonemap_enabled": true, +"sun_color": Color(1, 1, 1, 1), +"sun_enabled": true, +"sun_energy": 1.0, +"sun_max_distance": 100.0, +"sun_rotation": Vector2(-1.0472, 2.61799) +}, +"rotate_snap": 15.0, +"scale_snap": 10.0, +"show_grid": true, +"show_origin": true, +"snap_enabled": false, +"translate_snap": 1.0, +"viewport_mode": 1, +"viewports": [{ +"auto_orthogonal": false, +"auto_orthogonal_enabled": true, +"cinematic_preview": false, +"display_mode": 21, +"distance": 4.0, +"doppler": false, +"frame_time": false, +"gizmos": true, +"half_res": false, +"information": false, +"listener": true, +"lock_rotation": false, +"orthogonal": false, +"position": Vector3(0, 0, 0), +"use_environment": false, +"view_type": 0, +"x_rotation": 0.5, +"y_rotation": -0.5 +}, { +"auto_orthogonal": false, +"auto_orthogonal_enabled": true, +"cinematic_preview": false, +"display_mode": 21, +"distance": 4.0, +"doppler": false, +"frame_time": false, +"gizmos": true, +"half_res": false, +"information": false, +"listener": false, +"lock_rotation": false, +"orthogonal": false, +"position": Vector3(0, 0, 0), +"use_environment": false, +"view_type": 0, +"x_rotation": 0.5, +"y_rotation": -0.5 +}, { +"auto_orthogonal": false, +"auto_orthogonal_enabled": true, +"cinematic_preview": false, +"display_mode": 21, +"distance": 4.0, +"doppler": false, +"frame_time": false, +"gizmos": true, +"half_res": false, +"information": false, +"listener": false, +"lock_rotation": false, +"orthogonal": false, +"position": Vector3(0, 0, 0), +"use_environment": false, +"view_type": 0, +"x_rotation": 0.5, +"y_rotation": -0.5 +}, { +"auto_orthogonal": false, +"auto_orthogonal_enabled": true, +"cinematic_preview": false, +"display_mode": 21, +"distance": 4.0, +"doppler": false, +"frame_time": false, +"gizmos": true, +"half_res": false, +"information": false, +"listener": false, +"lock_rotation": false, +"orthogonal": false, +"position": Vector3(0, 0, 0), +"use_environment": false, +"view_type": 0, +"x_rotation": 0.5, +"y_rotation": -0.5 +}], +"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@9280/@VSplitContainer@9102/@HSplitContainer@9104/@HSplitContainer@9106/@Control@9107/@SubViewportContainer@9108/@SubViewport@9109/Main")]) diff --git a/.godot/editor/main.tscn-folding-3070c538c03ee49b7677ff960a3f5195.cfg b/.godot/editor/main.tscn-folding-3070c538c03ee49b7677ff960a3f5195.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ccd35b15948f5efa857051b2539fbe627fdd5944 --- /dev/null +++ b/.godot/editor/main.tscn-folding-3070c538c03ee49b7677ff960a3f5195.cfg @@ -0,0 +1,5 @@ +[folding] + +node_unfolds=[NodePath("."), PackedStringArray("Process")] +resource_unfolds=[] +nodes_folded=[] diff --git a/.godot/editor/project_metadata.cfg b/.godot/editor/project_metadata.cfg index d7ed597de857779d8370c4acf957277df13af90d..d9d4bbc081af839eb5f6e0fcf989cd76f7e48e33 100644 --- a/.godot/editor/project_metadata.cfg +++ b/.godot/editor/project_metadata.cfg @@ -5,8 +5,13 @@ use_advanced_connections=false [dialog_bounds] +<<<<<<< HEAD create_new_node=Rect2(2145, 197, 900, 700) project_settings=Rect2(2022, 76, 1590, 867) +======= +create_new_node=Rect2(2371, 126, 900, 700) +project_settings=Rect2(360, 190, 1200, 700) +>>>>>>> 37cdf4d48acbdca93e302e2c3a2694e420a9d4fb [script_setup] @@ -14,8 +19,13 @@ last_selected_language="GDScript" [recent_files] +<<<<<<< HEAD scripts=["res://scripts/board.gd", "res://scripts/scene_manager.gd", "res://scripts/title_screen/menu_button.gd", "res://scripts/title_screen/title_screen.gd", "res://scripts/Knight.gd", "res://scripts/King.gd", "res://scripts/Queen.gd", "res://scripts/Bishop.gd", "res://scripts/Rook.gd", "res://scripts/Pawn.gd"] scenes=["res://scenes/scene_manager.tscn", "res://scenes/title_screen.tscn", "res://main.tscn", "res://scenes/ui/menu_button.tscn", "res://scenes/game.tscn", "res://scenes/board.tscn", "res://scenes/ui/title_screen.tscn", "res://scenes/title_screen/menu_button.tscn", "res://scenes/title_screen/title_screen.tscn", "res://scenes/Knight.tscn"] +======= +scripts=["res://scripts/Wizard.gd", "res://scripts/Mage.gd", "res://scripts/Assassin.gd", "res://scripts/Knight.gd", "res://scripts/King.gd", "res://scripts/Queen.gd", "res://scripts/Bishop.gd", "res://scripts/Rook.gd", "res://scripts/Pawn.gd", "res://scripts/Piece.gd"] +scenes=["res://scenes/Wizard.tscn", "res://scenes/Mage.tscn", "res://scenes/Assassin.tscn", "res://scenes/Knight.tscn", "res://scenes/King.tscn", "res://scenes/Queen.tscn", "res://scenes/Bishop.tscn", "res://scenes/Rook.tscn", "res://scenes/Pawn.tscn", "res://scenes/explosion.tscn"] +>>>>>>> 37cdf4d48acbdca93e302e2c3a2694e420a9d4fb [color_picker] diff --git a/.godot/editor/scene_manager.gd-folding-f8120ff63f28decc30eb633b23f8bb65.cfg b/.godot/editor/scene_manager.gd-folding-f8120ff63f28decc30eb633b23f8bb65.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e860dd492d4a81a2c71efd56de0fbc8363005a6f --- /dev/null +++ b/.godot/editor/scene_manager.gd-folding-f8120ff63f28decc30eb633b23f8bb65.cfg @@ -0,0 +1,3 @@ +[folding] + +sections_unfolded=PackedStringArray() diff --git a/.godot/editor/scene_manager.tscn-editstate-b759aa255a16c27dcbfcac27740b9d8c.cfg b/.godot/editor/scene_manager.tscn-editstate-b759aa255a16c27dcbfcac27740b9d8c.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b8840033cf8e9e86c9b8c2818c6c75df406d74ee --- /dev/null +++ b/.godot/editor/scene_manager.tscn-editstate-b759aa255a16c27dcbfcac27740b9d8c.cfg @@ -0,0 +1,178 @@ +[editor_states] + +Anim={ +"visible": false +} +2D={ +"grid_offset": Vector2(0, 0), +"grid_snap_active": false, +"grid_step": Vector2(8, 8), +"grid_visibility": 1, +"ofs": Vector2(-180, -125), +"primary_grid_step": Vector2i(8, 8), +"show_group_gizmos": true, +"show_guides": true, +"show_helpers": false, +"show_lock_gizmos": true, +"show_origin": true, +"show_position_gizmos": true, +"show_rulers": true, +"show_transformation_gizmos": true, +"show_viewport": true, +"show_zoom_control": true, +"smart_snap_active": false, +"snap_guides": true, +"snap_node_anchors": true, +"snap_node_center": true, +"snap_node_parent": true, +"snap_node_sides": true, +"snap_other_nodes": true, +"snap_pixel": true, +"snap_relative": false, +"snap_rotation": false, +"snap_rotation_offset": 0.0, +"snap_rotation_step": 0.261799, +"snap_scale": false, +"snap_scale_step": 0.1, +"zoom": 0.25 +} +3D={ +"fov": 70.01, +"gizmos_status": { +"AudioListener3D": 0, +"AudioStreamPlayer3D": 0, +"CPUParticles3D": 0, +"CSGShape3D": 0, +"Camera3D": 0, +"CollisionObject3D": 0, +"CollisionPolygon3D": 0, +"CollisionShape3D": 0, +"Decal": 0, +"FogVolume": 0, +"GPUParticles3D": 0, +"GPUParticlesCollision3D": 0, +"Joint3D": 0, +"Light3D": 0, +"LightmapGI": 0, +"LightmapProbe": 0, +"Marker3D": 0, +"MeshInstance3DCustomAABB": 0, +"NavigationLink3D": 0, +"NavigationRegion3D": 0, +"OccluderInstance3D": 0, +"Path3D": 0, +"PhysicalBone3D": 0, +"RayCast3D": 0, +"ReflectionProbe": 0, +"ShapeCast3D": 0, +"Skeleton3D": 0, +"SoftBody3D": 0, +"SpringArm3D": 0, +"VehicleWheel3D": 0, +"VisibleOnScreenNotifier3D": 0, +"VoxelGI": 0 +}, +"local_coords": false, +"preview_sun_env": { +"environ_ao_enabled": false, +"environ_enabled": true, +"environ_energy": 1.0, +"environ_gi_enabled": false, +"environ_glow_enabled": false, +"environ_ground_color": Color(0.2, 0.169, 0.133, 1), +"environ_sky_color": Color(0.385, 0.454, 0.55, 1), +"environ_tonemap_enabled": true, +"sun_color": Color(1, 1, 1, 1), +"sun_enabled": true, +"sun_energy": 1.0, +"sun_max_distance": 100.0, +"sun_rotation": Vector2(-1.0472, 2.61799) +}, +"rotate_snap": 15.0, +"scale_snap": 10.0, +"show_grid": true, +"show_origin": true, +"snap_enabled": false, +"translate_snap": 1.0, +"viewport_mode": 1, +"viewports": [{ +"auto_orthogonal": false, +"auto_orthogonal_enabled": true, +"cinematic_preview": false, +"display_mode": 21, +"distance": 4.0, +"doppler": false, +"frame_time": false, +"gizmos": true, +"half_res": false, +"information": false, +"listener": true, +"lock_rotation": false, +"orthogonal": false, +"position": Vector3(0, 0, 0), +"use_environment": false, +"view_type": 0, +"x_rotation": 0.5, +"y_rotation": -0.5 +}, { +"auto_orthogonal": false, +"auto_orthogonal_enabled": true, +"cinematic_preview": false, +"display_mode": 21, +"distance": 4.0, +"doppler": false, +"frame_time": false, +"gizmos": true, +"half_res": false, +"information": false, +"listener": false, +"lock_rotation": false, +"orthogonal": false, +"position": Vector3(0, 0, 0), +"use_environment": false, +"view_type": 0, +"x_rotation": 0.5, +"y_rotation": -0.5 +}, { +"auto_orthogonal": false, +"auto_orthogonal_enabled": true, +"cinematic_preview": false, +"display_mode": 21, +"distance": 4.0, +"doppler": false, +"frame_time": false, +"gizmos": true, +"half_res": false, +"information": false, +"listener": false, +"lock_rotation": false, +"orthogonal": false, +"position": Vector3(0, 0, 0), +"use_environment": false, +"view_type": 0, +"x_rotation": 0.5, +"y_rotation": -0.5 +}, { +"auto_orthogonal": false, +"auto_orthogonal_enabled": true, +"cinematic_preview": false, +"display_mode": 21, +"distance": 4.0, +"doppler": false, +"frame_time": false, +"gizmos": true, +"half_res": false, +"information": false, +"listener": false, +"lock_rotation": false, +"orthogonal": false, +"position": Vector3(0, 0, 0), +"use_environment": false, +"view_type": 0, +"x_rotation": 0.5, +"y_rotation": -0.5 +}], +"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@9280/@VSplitContainer@9102/@HSplitContainer@9104/@HSplitContainer@9106/@Control@9107/@SubViewportContainer@9108/@SubViewport@9109/Main")]) diff --git a/.godot/editor/scene_manager.tscn-folding-b759aa255a16c27dcbfcac27740b9d8c.cfg b/.godot/editor/scene_manager.tscn-folding-b759aa255a16c27dcbfcac27740b9d8c.cfg new file mode 100644 index 0000000000000000000000000000000000000000..204e2bfe8ada7f1ed1427985e10f78afa8884417 --- /dev/null +++ b/.godot/editor/scene_manager.tscn-folding-b759aa255a16c27dcbfcac27740b9d8c.cfg @@ -0,0 +1,5 @@ +[folding] + +node_unfolds=[NodePath("CanvasLayer/ColorRect"), PackedStringArray("Visibility", "Layout", "Mouse")] +resource_unfolds=[] +nodes_folded=[] diff --git a/.godot/editor/script_editor_cache.cfg b/.godot/editor/script_editor_cache.cfg index e7f09ef23c16508c25d90b5706b8e505be58c043..929e66b745aaee1911123fa912cb688fb717b14a 100644 --- a/.godot/editor/script_editor_cache.cfg +++ b/.godot/editor/script_editor_cache.cfg @@ -3,11 +3,16 @@ state={ "bookmarks": PackedInt32Array(), "breakpoints": PackedInt32Array(), -"column": 20, +"column": 26, "folded_lines": Array[int]([]), "h_scroll_position": 0, +<<<<<<< HEAD "row": 121, "scroll_position": 98.0, +======= +"row": 53, +"scroll_position": 53.0, +>>>>>>> 37cdf4d48acbdca93e302e2c3a2694e420a9d4fb "selection": false, "syntax_highlighter": "GDScript" } @@ -20,8 +25,8 @@ state={ "column": 0, "folded_lines": Array[int]([]), "h_scroll_position": 0, -"row": 5, -"scroll_position": 0.0, +"row": 13, +"scroll_position": 4.0, "selection": false, "syntax_highlighter": "GDScript" } @@ -34,8 +39,8 @@ state={ "column": 0, "folded_lines": Array[int]([]), "h_scroll_position": 0, -"row": 17, -"scroll_position": 0.0, +"row": 12, +"scroll_position": 2.0, "selection": false, "syntax_highlighter": "GDScript" } @@ -63,7 +68,11 @@ state={ "folded_lines": Array[int]([]), "h_scroll_position": 0, "row": 80, +<<<<<<< HEAD "scroll_position": 59.0, +======= +"scroll_position": 0.0, +>>>>>>> 37cdf4d48acbdca93e302e2c3a2694e420a9d4fb "selection": false, "syntax_highlighter": "GDScript" } @@ -101,7 +110,7 @@ state={ state={ "bookmarks": PackedInt32Array(), "breakpoints": PackedInt32Array(), -"column": 40, +"column": 14, "folded_lines": Array[int]([]), "h_scroll_position": 0, "row": 11, @@ -151,3 +160,45 @@ state={ "selection": false, "syntax_highlighter": "GDScript" } + +[res://scripts/Assassin.gd] + +state={ +"bookmarks": PackedInt32Array(), +"breakpoints": PackedInt32Array(), +"column": 0, +"folded_lines": Array[int]([]), +"h_scroll_position": 0, +"row": 49, +"scroll_position": 0.0, +"selection": false, +"syntax_highlighter": "GDScript" +} + +[res://scripts/Mage.gd] + +state={ +"bookmarks": PackedInt32Array(), +"breakpoints": PackedInt32Array(), +"column": 19, +"folded_lines": Array[int]([]), +"h_scroll_position": 0, +"row": 113, +"scroll_position": 101.0, +"selection": false, +"syntax_highlighter": "GDScript" +} + +[res://scripts/Wizard.gd] + +state={ +"bookmarks": PackedInt32Array(), +"breakpoints": PackedInt32Array(), +"column": 0, +"folded_lines": Array[int]([]), +"h_scroll_position": 0, +"row": 0, +"scroll_position": 0.0, +"selection": false, +"syntax_highlighter": "GDScript" +} diff --git a/.godot/editor/title_screen.tscn-editstate-c315eff7b5f8a8ce1d6c4c72650ddc19.cfg b/.godot/editor/title_screen.tscn-editstate-c315eff7b5f8a8ce1d6c4c72650ddc19.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b8840033cf8e9e86c9b8c2818c6c75df406d74ee --- /dev/null +++ b/.godot/editor/title_screen.tscn-editstate-c315eff7b5f8a8ce1d6c4c72650ddc19.cfg @@ -0,0 +1,178 @@ +[editor_states] + +Anim={ +"visible": false +} +2D={ +"grid_offset": Vector2(0, 0), +"grid_snap_active": false, +"grid_step": Vector2(8, 8), +"grid_visibility": 1, +"ofs": Vector2(-180, -125), +"primary_grid_step": Vector2i(8, 8), +"show_group_gizmos": true, +"show_guides": true, +"show_helpers": false, +"show_lock_gizmos": true, +"show_origin": true, +"show_position_gizmos": true, +"show_rulers": true, +"show_transformation_gizmos": true, +"show_viewport": true, +"show_zoom_control": true, +"smart_snap_active": false, +"snap_guides": true, +"snap_node_anchors": true, +"snap_node_center": true, +"snap_node_parent": true, +"snap_node_sides": true, +"snap_other_nodes": true, +"snap_pixel": true, +"snap_relative": false, +"snap_rotation": false, +"snap_rotation_offset": 0.0, +"snap_rotation_step": 0.261799, +"snap_scale": false, +"snap_scale_step": 0.1, +"zoom": 0.25 +} +3D={ +"fov": 70.01, +"gizmos_status": { +"AudioListener3D": 0, +"AudioStreamPlayer3D": 0, +"CPUParticles3D": 0, +"CSGShape3D": 0, +"Camera3D": 0, +"CollisionObject3D": 0, +"CollisionPolygon3D": 0, +"CollisionShape3D": 0, +"Decal": 0, +"FogVolume": 0, +"GPUParticles3D": 0, +"GPUParticlesCollision3D": 0, +"Joint3D": 0, +"Light3D": 0, +"LightmapGI": 0, +"LightmapProbe": 0, +"Marker3D": 0, +"MeshInstance3DCustomAABB": 0, +"NavigationLink3D": 0, +"NavigationRegion3D": 0, +"OccluderInstance3D": 0, +"Path3D": 0, +"PhysicalBone3D": 0, +"RayCast3D": 0, +"ReflectionProbe": 0, +"ShapeCast3D": 0, +"Skeleton3D": 0, +"SoftBody3D": 0, +"SpringArm3D": 0, +"VehicleWheel3D": 0, +"VisibleOnScreenNotifier3D": 0, +"VoxelGI": 0 +}, +"local_coords": false, +"preview_sun_env": { +"environ_ao_enabled": false, +"environ_enabled": true, +"environ_energy": 1.0, +"environ_gi_enabled": false, +"environ_glow_enabled": false, +"environ_ground_color": Color(0.2, 0.169, 0.133, 1), +"environ_sky_color": Color(0.385, 0.454, 0.55, 1), +"environ_tonemap_enabled": true, +"sun_color": Color(1, 1, 1, 1), +"sun_enabled": true, +"sun_energy": 1.0, +"sun_max_distance": 100.0, +"sun_rotation": Vector2(-1.0472, 2.61799) +}, +"rotate_snap": 15.0, +"scale_snap": 10.0, +"show_grid": true, +"show_origin": true, +"snap_enabled": false, +"translate_snap": 1.0, +"viewport_mode": 1, +"viewports": [{ +"auto_orthogonal": false, +"auto_orthogonal_enabled": true, +"cinematic_preview": false, +"display_mode": 21, +"distance": 4.0, +"doppler": false, +"frame_time": false, +"gizmos": true, +"half_res": false, +"information": false, +"listener": true, +"lock_rotation": false, +"orthogonal": false, +"position": Vector3(0, 0, 0), +"use_environment": false, +"view_type": 0, +"x_rotation": 0.5, +"y_rotation": -0.5 +}, { +"auto_orthogonal": false, +"auto_orthogonal_enabled": true, +"cinematic_preview": false, +"display_mode": 21, +"distance": 4.0, +"doppler": false, +"frame_time": false, +"gizmos": true, +"half_res": false, +"information": false, +"listener": false, +"lock_rotation": false, +"orthogonal": false, +"position": Vector3(0, 0, 0), +"use_environment": false, +"view_type": 0, +"x_rotation": 0.5, +"y_rotation": -0.5 +}, { +"auto_orthogonal": false, +"auto_orthogonal_enabled": true, +"cinematic_preview": false, +"display_mode": 21, +"distance": 4.0, +"doppler": false, +"frame_time": false, +"gizmos": true, +"half_res": false, +"information": false, +"listener": false, +"lock_rotation": false, +"orthogonal": false, +"position": Vector3(0, 0, 0), +"use_environment": false, +"view_type": 0, +"x_rotation": 0.5, +"y_rotation": -0.5 +}, { +"auto_orthogonal": false, +"auto_orthogonal_enabled": true, +"cinematic_preview": false, +"display_mode": 21, +"distance": 4.0, +"doppler": false, +"frame_time": false, +"gizmos": true, +"half_res": false, +"information": false, +"listener": false, +"lock_rotation": false, +"orthogonal": false, +"position": Vector3(0, 0, 0), +"use_environment": false, +"view_type": 0, +"x_rotation": 0.5, +"y_rotation": -0.5 +}], +"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@9280/@VSplitContainer@9102/@HSplitContainer@9104/@HSplitContainer@9106/@Control@9107/@SubViewportContainer@9108/@SubViewport@9109/Main")]) diff --git a/.godot/editor/title_screen.tscn-folding-c315eff7b5f8a8ce1d6c4c72650ddc19.cfg b/.godot/editor/title_screen.tscn-folding-c315eff7b5f8a8ce1d6c4c72650ddc19.cfg new file mode 100644 index 0000000000000000000000000000000000000000..58d6dd90e177b3975ad1a3f1144d64273428c3df --- /dev/null +++ b/.godot/editor/title_screen.tscn-folding-c315eff7b5f8a8ce1d6c4c72650ddc19.cfg @@ -0,0 +1,5 @@ +[folding] + +node_unfolds=[NodePath("RichTextLabel"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MenuContainers"), PackedStringArray("Layout", "Theme Overrides"), NodePath("MenuContainers/PlayButton"), PackedStringArray("Layout"), NodePath("MenuContainers/RulesButton"), PackedStringArray("Layout"), NodePath("MenuContainers/QuitButton"), PackedStringArray("Layout")] +resource_unfolds=["res://scenes/ui/menu_button.tscn::StyleBoxEmpty_no32e", PackedStringArray("Resource"), "res://scenes/ui/menu_button.tscn::StyleBoxEmpty_ui7gk", PackedStringArray("Resource"), "res://scenes/ui/menu_button.tscn::StyleBoxEmpty_27gjt", PackedStringArray("Resource"), "res://scenes/ui/menu_button.tscn::StyleBoxEmpty_c1a70", PackedStringArray("Resource"), "res://scenes/ui/menu_button.tscn::StyleBoxEmpty_6l6dv", PackedStringArray("Resource"), "res://scenes/ui/menu_button.tscn::StyleBoxEmpty_mqbe1", PackedStringArray("Resource"), "res://scenes/ui/menu_button.tscn::StyleBoxEmpty_gynj3", PackedStringArray("Resource"), "res://scenes/ui/menu_button.tscn::StyleBoxEmpty_xjhuq", PackedStringArray("Resource"), "res://scenes/ui/menu_button.tscn::StyleBoxEmpty_intab", PackedStringArray("Resource"), "res://scenes/ui/menu_button.tscn::StyleBoxEmpty_54npp", PackedStringArray("Resource"), "res://scenes/ui/menu_button.tscn::StyleBoxEmpty_22qyq", PackedStringArray("Resource")] +nodes_folded=[] diff --git a/.godot/global_script_class_cache.cfg b/.godot/global_script_class_cache.cfg index 8a455767b16b0bdc12466084acfd74e8d53aa46d..bb92f25816fd1def3e3634088682c0de86a2d701 100644 --- a/.godot/global_script_class_cache.cfg +++ b/.godot/global_script_class_cache.cfg @@ -1,5 +1,11 @@ list=Array[Dictionary]([{ "base": &"Piece", +"class": &"Assassin", +"icon": "", +"language": &"GDScript", +"path": "res://scripts/Assassin.gd" +}, { +"base": &"Piece", "class": &"Bishop", "icon": "", "language": &"GDScript", @@ -18,6 +24,12 @@ list=Array[Dictionary]([{ "path": "res://scripts/Knight.gd" }, { "base": &"Piece", +"class": &"Mage", +"icon": "", +"language": &"GDScript", +"path": "res://scripts/Mage.gd" +}, { +"base": &"Piece", "class": &"Pawn", "icon": "", "language": &"GDScript", @@ -41,6 +53,7 @@ list=Array[Dictionary]([{ "language": &"GDScript", "path": "res://scripts/Rook.gd" }, { +<<<<<<< HEAD "base": &"Button", "class": &"TitleButton", "icon": "", @@ -52,6 +65,13 @@ list=Array[Dictionary]([{ "icon": "", "language": &"GDScript", "path": "res://scripts/title_screen/title_screen.gd" +======= +"base": &"Piece", +"class": &"Wizard", +"icon": "", +"language": &"GDScript", +"path": "res://scripts/Wizard.gd" +>>>>>>> 37cdf4d48acbdca93e302e2c3a2694e420a9d4fb }, { "base": &"Node", "class": &"game", diff --git a/.godot/imported/Black Pawn Piece 2.png-53c665dc5fb64f7c6fd1ccd28ce57290.ctex b/.godot/imported/Black Pawn Piece 2.png-53c665dc5fb64f7c6fd1ccd28ce57290.ctex new file mode 100644 index 0000000000000000000000000000000000000000..4c77a996f9cbf1eee57f442e01d29b752942a91f Binary files /dev/null and b/.godot/imported/Black Pawn Piece 2.png-53c665dc5fb64f7c6fd1ccd28ce57290.ctex differ diff --git a/.godot/imported/Black Pawn Piece 2.png-53c665dc5fb64f7c6fd1ccd28ce57290.md5 b/.godot/imported/Black Pawn Piece 2.png-53c665dc5fb64f7c6fd1ccd28ce57290.md5 new file mode 100644 index 0000000000000000000000000000000000000000..3502639c2ee45752c8ffe69428424086375dab0e --- /dev/null +++ b/.godot/imported/Black Pawn Piece 2.png-53c665dc5fb64f7c6fd1ccd28ce57290.md5 @@ -0,0 +1,3 @@ +source_md5="59c83717f4479773c81910f7513534a1" +dest_md5="55b1d3bf4cb1bfdfedc4a904120262f7" + diff --git a/.godot/imported/Black Queen Piece 2.png-6a13eb2c8f0b33e3db86a2de9c783482.ctex b/.godot/imported/Black Queen Piece 2.png-6a13eb2c8f0b33e3db86a2de9c783482.ctex new file mode 100644 index 0000000000000000000000000000000000000000..367844157d6e43e85436fe87b7f823f4742d25a9 Binary files /dev/null and b/.godot/imported/Black Queen Piece 2.png-6a13eb2c8f0b33e3db86a2de9c783482.ctex differ diff --git a/.godot/imported/Black Queen Piece 2.png-6a13eb2c8f0b33e3db86a2de9c783482.md5 b/.godot/imported/Black Queen Piece 2.png-6a13eb2c8f0b33e3db86a2de9c783482.md5 new file mode 100644 index 0000000000000000000000000000000000000000..fc61e1c57a3b9e3b5fa51e0f6446b98caa5512e8 --- /dev/null +++ b/.godot/imported/Black Queen Piece 2.png-6a13eb2c8f0b33e3db86a2de9c783482.md5 @@ -0,0 +1,3 @@ +source_md5="c72ff6ce410023c815eecc192ffd1f5f" +dest_md5="a86f602aa77f1c08a14e2bf205c8bac2" + diff --git a/.godot/imported/Black king piece 2.png-27e393629c79f52a484fa0ad3774adb5.ctex b/.godot/imported/Black king piece 2.png-27e393629c79f52a484fa0ad3774adb5.ctex new file mode 100644 index 0000000000000000000000000000000000000000..46115479c9e67d640764d2cc50cddc0d7ad2b2ba Binary files /dev/null and b/.godot/imported/Black king piece 2.png-27e393629c79f52a484fa0ad3774adb5.ctex differ diff --git a/.godot/imported/Black king piece 2.png-27e393629c79f52a484fa0ad3774adb5.md5 b/.godot/imported/Black king piece 2.png-27e393629c79f52a484fa0ad3774adb5.md5 new file mode 100644 index 0000000000000000000000000000000000000000..405c061ab805463629f5cb421f9ca4ae8108b213 --- /dev/null +++ b/.godot/imported/Black king piece 2.png-27e393629c79f52a484fa0ad3774adb5.md5 @@ -0,0 +1,3 @@ +source_md5="1935709c2b7e4f50fc7d37c2958875fa" +dest_md5="e8865a9e1ccb7fe9cbf82a664a3a8ab8" + diff --git a/.godot/imported/Black knight piece.png-313f15dff487853c86d70411694eed92.ctex b/.godot/imported/Black knight piece.png-313f15dff487853c86d70411694eed92.ctex new file mode 100644 index 0000000000000000000000000000000000000000..4ca6d8b019b68ca2d2b761cd5fa47991208956d3 Binary files /dev/null and b/.godot/imported/Black knight piece.png-313f15dff487853c86d70411694eed92.ctex differ diff --git a/.godot/imported/Black knight piece.png-313f15dff487853c86d70411694eed92.md5 b/.godot/imported/Black knight piece.png-313f15dff487853c86d70411694eed92.md5 new file mode 100644 index 0000000000000000000000000000000000000000..1e430f0baef0d40cf3f2d26e992c6663af99d188 --- /dev/null +++ b/.godot/imported/Black knight piece.png-313f15dff487853c86d70411694eed92.md5 @@ -0,0 +1,3 @@ +source_md5="9d3a01e88e5167cdc2a032aec76afde4" +dest_md5="320417fbd974b82310ab10782e2703ae" + diff --git a/.godot/imported/Black rook piece.png-c4b70293e8009e9592b80006f71f3885.ctex b/.godot/imported/Black rook piece.png-c4b70293e8009e9592b80006f71f3885.ctex new file mode 100644 index 0000000000000000000000000000000000000000..aa5a1d7d78db4aa8c93d51f0a470c4e525f1539b Binary files /dev/null and b/.godot/imported/Black rook piece.png-c4b70293e8009e9592b80006f71f3885.ctex differ diff --git a/.godot/imported/Black rook piece.png-c4b70293e8009e9592b80006f71f3885.md5 b/.godot/imported/Black rook piece.png-c4b70293e8009e9592b80006f71f3885.md5 new file mode 100644 index 0000000000000000000000000000000000000000..241695b67ba720d067760ebab381ccb53653401c --- /dev/null +++ b/.godot/imported/Black rook piece.png-c4b70293e8009e9592b80006f71f3885.md5 @@ -0,0 +1,3 @@ +source_md5="a69d749371967d43ce0763706152da42" +dest_md5="4371684882a6a390afe848d2fe59b196" + diff --git a/.godot/imported/Black_Assassin.png-92f0801c336ab61369a2b93fc5e3abcd.ctex b/.godot/imported/Black_Assassin.png-92f0801c336ab61369a2b93fc5e3abcd.ctex new file mode 100644 index 0000000000000000000000000000000000000000..5e91ad6496b183ad59c92792de07c8a1527b33e3 Binary files /dev/null and b/.godot/imported/Black_Assassin.png-92f0801c336ab61369a2b93fc5e3abcd.ctex differ diff --git a/.godot/imported/Black_Assassin.png-92f0801c336ab61369a2b93fc5e3abcd.md5 b/.godot/imported/Black_Assassin.png-92f0801c336ab61369a2b93fc5e3abcd.md5 new file mode 100644 index 0000000000000000000000000000000000000000..d90f3aa1499980619ffb4412a9db4c3ca094198c --- /dev/null +++ b/.godot/imported/Black_Assassin.png-92f0801c336ab61369a2b93fc5e3abcd.md5 @@ -0,0 +1,3 @@ +source_md5="dd58f1779aac351f77c9e707928e0b60" +dest_md5="fae77d965fb4b16538a14cd7c8bc33c8" + diff --git a/.godot/imported/Black_Bishop.png-dfabfc0c81260272c753c7f344c2996a.ctex b/.godot/imported/Black_Bishop.png-dfabfc0c81260272c753c7f344c2996a.ctex new file mode 100644 index 0000000000000000000000000000000000000000..c5bc1669b42b18e66e92c027b1abdaef6a9bcec8 Binary files /dev/null and b/.godot/imported/Black_Bishop.png-dfabfc0c81260272c753c7f344c2996a.ctex differ diff --git a/.godot/imported/Black_Bishop.png-dfabfc0c81260272c753c7f344c2996a.md5 b/.godot/imported/Black_Bishop.png-dfabfc0c81260272c753c7f344c2996a.md5 new file mode 100644 index 0000000000000000000000000000000000000000..bdf8607aa9e35fccc1fb4b1e086bc1d0ee7fac31 --- /dev/null +++ b/.godot/imported/Black_Bishop.png-dfabfc0c81260272c753c7f344c2996a.md5 @@ -0,0 +1,3 @@ +source_md5="74722cd6b4af69197b3a90ca6dc5a600" +dest_md5="0079d364b028e9085f632a52e6754217" + diff --git a/.godot/imported/Black_Pawn.png-73ec9504aa6a8628b0708bd600099243.ctex b/.godot/imported/Black_Pawn.png-73ec9504aa6a8628b0708bd600099243.ctex new file mode 100644 index 0000000000000000000000000000000000000000..05cc471b5802f5f5bd14fb24859f4893be75c850 Binary files /dev/null and b/.godot/imported/Black_Pawn.png-73ec9504aa6a8628b0708bd600099243.ctex differ diff --git a/.godot/imported/Black_Pawn.png-73ec9504aa6a8628b0708bd600099243.md5 b/.godot/imported/Black_Pawn.png-73ec9504aa6a8628b0708bd600099243.md5 new file mode 100644 index 0000000000000000000000000000000000000000..c0375edb0378edc00c5e4418915465fb0cf57b5f --- /dev/null +++ b/.godot/imported/Black_Pawn.png-73ec9504aa6a8628b0708bd600099243.md5 @@ -0,0 +1,3 @@ +source_md5="0c87baba96a1a06cf40525d9bf23b847" +dest_md5="aad2bcdda1268c1597e87b0cae7bfcd3" + diff --git a/.godot/imported/Black_Queen.png-129070e6a0ddc5f7ae2bf0cc746c3d32.ctex b/.godot/imported/Black_Queen.png-129070e6a0ddc5f7ae2bf0cc746c3d32.ctex new file mode 100644 index 0000000000000000000000000000000000000000..ceb5d54b7039349c110c5f4785762db442ce0935 Binary files /dev/null and b/.godot/imported/Black_Queen.png-129070e6a0ddc5f7ae2bf0cc746c3d32.ctex differ diff --git a/.godot/imported/Black_Queen.png-129070e6a0ddc5f7ae2bf0cc746c3d32.md5 b/.godot/imported/Black_Queen.png-129070e6a0ddc5f7ae2bf0cc746c3d32.md5 new file mode 100644 index 0000000000000000000000000000000000000000..99a98c790b74c2cef7f3e0b259f2c8063122cd4b --- /dev/null +++ b/.godot/imported/Black_Queen.png-129070e6a0ddc5f7ae2bf0cc746c3d32.md5 @@ -0,0 +1,3 @@ +source_md5="fdec13434438c08a8b34f33add889846" +dest_md5="664876e075f5b16df870670cb7a2dc8e" + diff --git a/.godot/imported/Black_king.png-dbd93650975809023d5051fb7e838887.ctex b/.godot/imported/Black_king.png-dbd93650975809023d5051fb7e838887.ctex new file mode 100644 index 0000000000000000000000000000000000000000..e0b5f13887ffc9a68f22e8090812bfea50b367e7 Binary files /dev/null and b/.godot/imported/Black_king.png-dbd93650975809023d5051fb7e838887.ctex differ diff --git a/.godot/imported/Black_king.png-dbd93650975809023d5051fb7e838887.md5 b/.godot/imported/Black_king.png-dbd93650975809023d5051fb7e838887.md5 new file mode 100644 index 0000000000000000000000000000000000000000..afda92f4da7d6844b87c450c83f1ae14602b4c59 --- /dev/null +++ b/.godot/imported/Black_king.png-dbd93650975809023d5051fb7e838887.md5 @@ -0,0 +1,3 @@ +source_md5="b09cc53864aad0597f23c2f8f52f05c4" +dest_md5="0d9b88b68ce63fe4ef7d1490f5432bf5" + diff --git a/.godot/imported/Black_knight.png-929454b56153273c352ed40512756608.ctex b/.godot/imported/Black_knight.png-929454b56153273c352ed40512756608.ctex new file mode 100644 index 0000000000000000000000000000000000000000..2405ca9ac0691459a46bea92b4fdcf21efa456fb Binary files /dev/null and b/.godot/imported/Black_knight.png-929454b56153273c352ed40512756608.ctex differ diff --git a/.godot/imported/Black_knight.png-929454b56153273c352ed40512756608.md5 b/.godot/imported/Black_knight.png-929454b56153273c352ed40512756608.md5 new file mode 100644 index 0000000000000000000000000000000000000000..b11e39862c6805bdf6d518bfd3901a1f0d1e1333 --- /dev/null +++ b/.godot/imported/Black_knight.png-929454b56153273c352ed40512756608.md5 @@ -0,0 +1,3 @@ +source_md5="dbfb7c7f8f0d5f2811fe487873a478d1" +dest_md5="e32e9f26113b5445e4e50ce3c87e08f7" + diff --git a/.godot/imported/Black_mage.png-f47f7e890ef040a98dd73453a681ffe1.ctex b/.godot/imported/Black_mage.png-f47f7e890ef040a98dd73453a681ffe1.ctex new file mode 100644 index 0000000000000000000000000000000000000000..cec03fd06eef78efbeb9e6d14a3b6b018638efff Binary files /dev/null and b/.godot/imported/Black_mage.png-f47f7e890ef040a98dd73453a681ffe1.ctex differ diff --git a/.godot/imported/Black_mage.png-f47f7e890ef040a98dd73453a681ffe1.md5 b/.godot/imported/Black_mage.png-f47f7e890ef040a98dd73453a681ffe1.md5 new file mode 100644 index 0000000000000000000000000000000000000000..bf0790df6d467213b6c08bee02361edee77d27a8 --- /dev/null +++ b/.godot/imported/Black_mage.png-f47f7e890ef040a98dd73453a681ffe1.md5 @@ -0,0 +1,3 @@ +source_md5="3b66942c664a2471eb2e6ca1f6a72842" +dest_md5="c8bd96e475e8bdca3edaeebd02e0137f" + diff --git a/.godot/imported/Black_rook.png-b128d49fd31d80383e68d3d654f74445.ctex b/.godot/imported/Black_rook.png-b128d49fd31d80383e68d3d654f74445.ctex new file mode 100644 index 0000000000000000000000000000000000000000..45c54c1549d0e10cada26990c2b309e2d357d2f9 Binary files /dev/null and b/.godot/imported/Black_rook.png-b128d49fd31d80383e68d3d654f74445.ctex differ diff --git a/.godot/imported/Black_rook.png-b128d49fd31d80383e68d3d654f74445.md5 b/.godot/imported/Black_rook.png-b128d49fd31d80383e68d3d654f74445.md5 new file mode 100644 index 0000000000000000000000000000000000000000..84d0fb88077cbadfe889b791f7766175ef664169 --- /dev/null +++ b/.godot/imported/Black_rook.png-b128d49fd31d80383e68d3d654f74445.md5 @@ -0,0 +1,3 @@ +source_md5="05c36488dfe73ef767e701a22408025c" +dest_md5="7299e0f0e02bb072e8f9b8713111f2b5" + diff --git a/.godot/imported/Black_wizard.png-0afea0808b6267d98cbfc8507751a05e.ctex b/.godot/imported/Black_wizard.png-0afea0808b6267d98cbfc8507751a05e.ctex new file mode 100644 index 0000000000000000000000000000000000000000..bcb683ce9372dd055063ccb016c799855b5030db Binary files /dev/null and b/.godot/imported/Black_wizard.png-0afea0808b6267d98cbfc8507751a05e.ctex differ diff --git a/.godot/imported/Black_wizard.png-0afea0808b6267d98cbfc8507751a05e.md5 b/.godot/imported/Black_wizard.png-0afea0808b6267d98cbfc8507751a05e.md5 new file mode 100644 index 0000000000000000000000000000000000000000..522ae4f28a11738556edab8a0ab836f30f43b2bf --- /dev/null +++ b/.godot/imported/Black_wizard.png-0afea0808b6267d98cbfc8507751a05e.md5 @@ -0,0 +1,3 @@ +source_md5="762fc768a00930d008d80ae732c47e37" +dest_md5="6b59234940c24c5a2a96c1ca7974ec76" + diff --git a/.godot/imported/Go_Save_The_King_Menu.jpg-83f89575077e7b7b57440725419997a5.ctex b/.godot/imported/Go_Save_The_King_Menu.jpg-83f89575077e7b7b57440725419997a5.ctex new file mode 100644 index 0000000000000000000000000000000000000000..1fed2753c10d9744913066a561f5246c26d7426e Binary files /dev/null and b/.godot/imported/Go_Save_The_King_Menu.jpg-83f89575077e7b7b57440725419997a5.ctex differ diff --git a/.godot/imported/Go_Save_The_King_Menu.jpg-83f89575077e7b7b57440725419997a5.md5 b/.godot/imported/Go_Save_The_King_Menu.jpg-83f89575077e7b7b57440725419997a5.md5 new file mode 100644 index 0000000000000000000000000000000000000000..8e888508bfba7d120aed93530ebe92faa712eecb --- /dev/null +++ b/.godot/imported/Go_Save_The_King_Menu.jpg-83f89575077e7b7b57440725419997a5.md5 @@ -0,0 +1,3 @@ +source_md5="1f8596704a4313c38e12d613f3fbe423" +dest_md5="63e062f92b548311db291c264535621e" + diff --git a/.godot/imported/Mockup Gameplay Design.jpg-fc7a299e2b9d8a1e5a6be4e297652c59.ctex b/.godot/imported/Mockup Gameplay Design.jpg-fc7a299e2b9d8a1e5a6be4e297652c59.ctex new file mode 100644 index 0000000000000000000000000000000000000000..ab9d86c3a7b773c80f230046df1e87a11a10f0ca Binary files /dev/null and b/.godot/imported/Mockup Gameplay Design.jpg-fc7a299e2b9d8a1e5a6be4e297652c59.ctex differ diff --git a/.godot/imported/Mockup Gameplay Design.jpg-fc7a299e2b9d8a1e5a6be4e297652c59.md5 b/.godot/imported/Mockup Gameplay Design.jpg-fc7a299e2b9d8a1e5a6be4e297652c59.md5 new file mode 100644 index 0000000000000000000000000000000000000000..0f673a8637d7e83633d942ac98cf38c531524739 --- /dev/null +++ b/.godot/imported/Mockup Gameplay Design.jpg-fc7a299e2b9d8a1e5a6be4e297652c59.md5 @@ -0,0 +1,3 @@ +source_md5="1ee24bf68d43a784b8af3720f929830c" +dest_md5="2260e63ce3cef51f2b4586482514e425" + diff --git a/.godot/imported/Mockup Shop Design.jpg-e4f6b20c2703825c77bccf58041364b1.ctex b/.godot/imported/Mockup Shop Design.jpg-e4f6b20c2703825c77bccf58041364b1.ctex new file mode 100644 index 0000000000000000000000000000000000000000..709c65334bd7c2143ec75f3a6a886e2eeafc0ef3 Binary files /dev/null and b/.godot/imported/Mockup Shop Design.jpg-e4f6b20c2703825c77bccf58041364b1.ctex differ diff --git a/.godot/imported/Mockup Shop Design.jpg-e4f6b20c2703825c77bccf58041364b1.md5 b/.godot/imported/Mockup Shop Design.jpg-e4f6b20c2703825c77bccf58041364b1.md5 new file mode 100644 index 0000000000000000000000000000000000000000..7a9261493322e4dc57bfefe74a30b1351efddd21 --- /dev/null +++ b/.godot/imported/Mockup Shop Design.jpg-e4f6b20c2703825c77bccf58041364b1.md5 @@ -0,0 +1,3 @@ +source_md5="98129eb716061176fa515ad0a02440fd" +dest_md5="6c8c45f254c9f0041e827b93b1ed6b23" + diff --git a/.godot/imported/Piece_move.png-a61f1f317c78cfeb3b5315473d3793a5.ctex b/.godot/imported/Piece_move.png-a61f1f317c78cfeb3b5315473d3793a5.ctex new file mode 100644 index 0000000000000000000000000000000000000000..c8e2730e6911c4e082b185c9847e09defd5620ed Binary files /dev/null and b/.godot/imported/Piece_move.png-a61f1f317c78cfeb3b5315473d3793a5.ctex differ diff --git a/.godot/imported/Piece_move.png-a61f1f317c78cfeb3b5315473d3793a5.md5 b/.godot/imported/Piece_move.png-a61f1f317c78cfeb3b5315473d3793a5.md5 new file mode 100644 index 0000000000000000000000000000000000000000..d9ba24d0770595e1bf48f1f1a720393d66a0617e --- /dev/null +++ b/.godot/imported/Piece_move.png-a61f1f317c78cfeb3b5315473d3793a5.md5 @@ -0,0 +1,3 @@ +source_md5="2bde6f58f06c647a772024b29a49494f" +dest_md5="b16be31b031a9a97c47a41fdcf31e587" + diff --git a/.godot/imported/White Pawn Piece 2.png-12fcac4abc245acad969e3cad5656d0f.ctex b/.godot/imported/White Pawn Piece 2.png-12fcac4abc245acad969e3cad5656d0f.ctex new file mode 100644 index 0000000000000000000000000000000000000000..e8ed8f5a84fff3a99cb1a57521498d3d8ffcb05f Binary files /dev/null and b/.godot/imported/White Pawn Piece 2.png-12fcac4abc245acad969e3cad5656d0f.ctex differ diff --git a/.godot/imported/White Pawn Piece 2.png-12fcac4abc245acad969e3cad5656d0f.md5 b/.godot/imported/White Pawn Piece 2.png-12fcac4abc245acad969e3cad5656d0f.md5 new file mode 100644 index 0000000000000000000000000000000000000000..4b8584fb16ad668ffb22cc01ffd0d8f4772e32c4 --- /dev/null +++ b/.godot/imported/White Pawn Piece 2.png-12fcac4abc245acad969e3cad5656d0f.md5 @@ -0,0 +1,3 @@ +source_md5="622a8136eb821b19233f189d728672b9" +dest_md5="d089230e6ad6ba21a62711ae4f0e8f3e" + diff --git a/.godot/imported/White Queen Piece 2.png-d234d9b6ad91ed3341f0d4a34fc9fa3f.ctex b/.godot/imported/White Queen Piece 2.png-d234d9b6ad91ed3341f0d4a34fc9fa3f.ctex new file mode 100644 index 0000000000000000000000000000000000000000..ccbc7c55f11d6fc8d1f9a94bc2aa83ad5eba1911 Binary files /dev/null and b/.godot/imported/White Queen Piece 2.png-d234d9b6ad91ed3341f0d4a34fc9fa3f.ctex differ diff --git a/.godot/imported/White Queen Piece 2.png-d234d9b6ad91ed3341f0d4a34fc9fa3f.md5 b/.godot/imported/White Queen Piece 2.png-d234d9b6ad91ed3341f0d4a34fc9fa3f.md5 new file mode 100644 index 0000000000000000000000000000000000000000..510fbe7cb2537ed9402922338df06bed2d478f65 --- /dev/null +++ b/.godot/imported/White Queen Piece 2.png-d234d9b6ad91ed3341f0d4a34fc9fa3f.md5 @@ -0,0 +1,3 @@ +source_md5="61c017261e705d118e4c8603c1feb0fa" +dest_md5="38cd64c363eee123b7980d0716b10787" + diff --git a/.godot/imported/White king piece 2.png-a29a5efd327b1b6485fc9bd2ece642f5.ctex b/.godot/imported/White king piece 2.png-a29a5efd327b1b6485fc9bd2ece642f5.ctex new file mode 100644 index 0000000000000000000000000000000000000000..f8b96ee2d295d44f3bc8f9d41ae77f43e317d49a Binary files /dev/null and b/.godot/imported/White king piece 2.png-a29a5efd327b1b6485fc9bd2ece642f5.ctex differ diff --git a/.godot/imported/White king piece 2.png-a29a5efd327b1b6485fc9bd2ece642f5.md5 b/.godot/imported/White king piece 2.png-a29a5efd327b1b6485fc9bd2ece642f5.md5 new file mode 100644 index 0000000000000000000000000000000000000000..3c42c8787839cb3758b156dcee917c60f9401f86 --- /dev/null +++ b/.godot/imported/White king piece 2.png-a29a5efd327b1b6485fc9bd2ece642f5.md5 @@ -0,0 +1,3 @@ +source_md5="2599ef6252dce06c7e5d29659c1425a9" +dest_md5="46c461e3083d3611612ad9da97d5f49b" + diff --git a/.godot/imported/White knight piece.png-3aa1e1b78f43a222eb7c9d2fc679dbc5.ctex b/.godot/imported/White knight piece.png-3aa1e1b78f43a222eb7c9d2fc679dbc5.ctex new file mode 100644 index 0000000000000000000000000000000000000000..3558675d3efdad3ad51a430332cb0071b31e6ec8 Binary files /dev/null and b/.godot/imported/White knight piece.png-3aa1e1b78f43a222eb7c9d2fc679dbc5.ctex differ diff --git a/.godot/imported/White knight piece.png-3aa1e1b78f43a222eb7c9d2fc679dbc5.md5 b/.godot/imported/White knight piece.png-3aa1e1b78f43a222eb7c9d2fc679dbc5.md5 new file mode 100644 index 0000000000000000000000000000000000000000..ebfb902d794e4bdc32cfa3a83cd5ea8751285b68 --- /dev/null +++ b/.godot/imported/White knight piece.png-3aa1e1b78f43a222eb7c9d2fc679dbc5.md5 @@ -0,0 +1,3 @@ +source_md5="83b9f365c5a031d16126269ed19da794" +dest_md5="adc138331d37e778d28a145e3e937d36" + diff --git a/.godot/imported/White rook piece.png-88c25766f44b2d923dd3f921fe03f446.ctex b/.godot/imported/White rook piece.png-88c25766f44b2d923dd3f921fe03f446.ctex new file mode 100644 index 0000000000000000000000000000000000000000..0135f724c37f2a355e2bc27797bb431a9e07c4d5 Binary files /dev/null and b/.godot/imported/White rook piece.png-88c25766f44b2d923dd3f921fe03f446.ctex differ diff --git a/.godot/imported/White rook piece.png-88c25766f44b2d923dd3f921fe03f446.md5 b/.godot/imported/White rook piece.png-88c25766f44b2d923dd3f921fe03f446.md5 new file mode 100644 index 0000000000000000000000000000000000000000..5b319911f4c5d74f0537ec0a7655707c3a63df53 --- /dev/null +++ b/.godot/imported/White rook piece.png-88c25766f44b2d923dd3f921fe03f446.md5 @@ -0,0 +1,3 @@ +source_md5="504faa524cd45ca80e0ad35af04c4323" +dest_md5="a76269a71587750d6da502b029810986" + diff --git a/.godot/imported/White_Assassin.png-b91d29cfa010c3f963e5fe98fea3f7ce.ctex b/.godot/imported/White_Assassin.png-b91d29cfa010c3f963e5fe98fea3f7ce.ctex new file mode 100644 index 0000000000000000000000000000000000000000..7ae711dfd8982339eea46364c8908ae248d46fdf Binary files /dev/null and b/.godot/imported/White_Assassin.png-b91d29cfa010c3f963e5fe98fea3f7ce.ctex differ diff --git a/.godot/imported/White_Assassin.png-b91d29cfa010c3f963e5fe98fea3f7ce.md5 b/.godot/imported/White_Assassin.png-b91d29cfa010c3f963e5fe98fea3f7ce.md5 new file mode 100644 index 0000000000000000000000000000000000000000..ca8c8eb90a38e38bd2fb15eab17c30d90ff1873e --- /dev/null +++ b/.godot/imported/White_Assassin.png-b91d29cfa010c3f963e5fe98fea3f7ce.md5 @@ -0,0 +1,3 @@ +source_md5="d41e23ee4f8995d506954da3503335a7" +dest_md5="008988ad8ac41b708662a52a766f1f12" + diff --git a/.godot/imported/White_Bishop.png-7213de7b15a92e5747f2331d55eafa2b.ctex b/.godot/imported/White_Bishop.png-7213de7b15a92e5747f2331d55eafa2b.ctex new file mode 100644 index 0000000000000000000000000000000000000000..a6af9b0ad56b50bb9a92cade7174847850b0201d Binary files /dev/null and b/.godot/imported/White_Bishop.png-7213de7b15a92e5747f2331d55eafa2b.ctex differ diff --git a/.godot/imported/White_Bishop.png-7213de7b15a92e5747f2331d55eafa2b.md5 b/.godot/imported/White_Bishop.png-7213de7b15a92e5747f2331d55eafa2b.md5 new file mode 100644 index 0000000000000000000000000000000000000000..79fcd6003acf4f8773127313ff145ca1e823843d --- /dev/null +++ b/.godot/imported/White_Bishop.png-7213de7b15a92e5747f2331d55eafa2b.md5 @@ -0,0 +1,3 @@ +source_md5="7b4523ada6454e6c05ccada8bb49c6ed" +dest_md5="e912fc314aee4f794e465e9fb18c24cc" + diff --git a/.godot/imported/White_Pawn.png-4fbaffc4602d71e6cac15276c9938262.ctex b/.godot/imported/White_Pawn.png-4fbaffc4602d71e6cac15276c9938262.ctex new file mode 100644 index 0000000000000000000000000000000000000000..be5e1bd60709d6a7a98b8c60ed83fd719dc9493c Binary files /dev/null and b/.godot/imported/White_Pawn.png-4fbaffc4602d71e6cac15276c9938262.ctex differ diff --git a/.godot/imported/White_Pawn.png-4fbaffc4602d71e6cac15276c9938262.md5 b/.godot/imported/White_Pawn.png-4fbaffc4602d71e6cac15276c9938262.md5 new file mode 100644 index 0000000000000000000000000000000000000000..a0a10eec3dd0b6b0545b3ab04f247b840ad0c0df --- /dev/null +++ b/.godot/imported/White_Pawn.png-4fbaffc4602d71e6cac15276c9938262.md5 @@ -0,0 +1,3 @@ +source_md5="c56048eb1dc7be6736cd82ef34d36ece" +dest_md5="4b5b68a772fd44d82f8e4d479580ae70" + diff --git a/.godot/imported/White_Queen.png-a9036b7b39d84991818902d33b82e9f7.ctex b/.godot/imported/White_Queen.png-a9036b7b39d84991818902d33b82e9f7.ctex new file mode 100644 index 0000000000000000000000000000000000000000..889bdba09d75b9049a34ccefabdd3f18a4947041 Binary files /dev/null and b/.godot/imported/White_Queen.png-a9036b7b39d84991818902d33b82e9f7.ctex differ diff --git a/.godot/imported/White_Queen.png-a9036b7b39d84991818902d33b82e9f7.md5 b/.godot/imported/White_Queen.png-a9036b7b39d84991818902d33b82e9f7.md5 new file mode 100644 index 0000000000000000000000000000000000000000..be96c57cee0a3118478d277c7aba14bea816aacb --- /dev/null +++ b/.godot/imported/White_Queen.png-a9036b7b39d84991818902d33b82e9f7.md5 @@ -0,0 +1,3 @@ +source_md5="f2e1d6f97bfa9fbe0ca1e2897d3f9b81" +dest_md5="52621a4f50d4b91df03fcdc255a09175" + diff --git a/.godot/imported/White_king.png-c9b2bce7af3c06b61d26520db25cf997.ctex b/.godot/imported/White_king.png-c9b2bce7af3c06b61d26520db25cf997.ctex new file mode 100644 index 0000000000000000000000000000000000000000..a33b2d2ab7cc33b086a24d65279a311cc1d4df47 Binary files /dev/null and b/.godot/imported/White_king.png-c9b2bce7af3c06b61d26520db25cf997.ctex differ diff --git a/.godot/imported/White_king.png-c9b2bce7af3c06b61d26520db25cf997.md5 b/.godot/imported/White_king.png-c9b2bce7af3c06b61d26520db25cf997.md5 new file mode 100644 index 0000000000000000000000000000000000000000..52bdad03ecdfa115a058314e841159a239d3ee38 --- /dev/null +++ b/.godot/imported/White_king.png-c9b2bce7af3c06b61d26520db25cf997.md5 @@ -0,0 +1,3 @@ +source_md5="d50413fd961dc7e98d6079463da0ba24" +dest_md5="68aeebe064314200e034cd68289adcf0" + diff --git a/.godot/imported/White_knight.png-c190fd776f0ab6d33f3119fa59d71766.ctex b/.godot/imported/White_knight.png-c190fd776f0ab6d33f3119fa59d71766.ctex new file mode 100644 index 0000000000000000000000000000000000000000..26d5bbe6a48827ce1a6aeb0028236065be376b14 Binary files /dev/null and b/.godot/imported/White_knight.png-c190fd776f0ab6d33f3119fa59d71766.ctex differ diff --git a/.godot/imported/White_knight.png-c190fd776f0ab6d33f3119fa59d71766.md5 b/.godot/imported/White_knight.png-c190fd776f0ab6d33f3119fa59d71766.md5 new file mode 100644 index 0000000000000000000000000000000000000000..2ab4ca6b2e74e2da8d816921a7894a9a45cc4bff --- /dev/null +++ b/.godot/imported/White_knight.png-c190fd776f0ab6d33f3119fa59d71766.md5 @@ -0,0 +1,3 @@ +source_md5="0aeae9d0c31b59e0cdecb4b22467d08e" +dest_md5="69bcc0fb89685324c8dda57d074e2c51" + diff --git a/.godot/imported/White_mage.png-fdbd721bd126c3ac8c64372cf709b530.ctex b/.godot/imported/White_mage.png-fdbd721bd126c3ac8c64372cf709b530.ctex new file mode 100644 index 0000000000000000000000000000000000000000..b3d3914673352e9ee67fc8069ef0eb5256289f06 Binary files /dev/null and b/.godot/imported/White_mage.png-fdbd721bd126c3ac8c64372cf709b530.ctex differ diff --git a/.godot/imported/White_mage.png-fdbd721bd126c3ac8c64372cf709b530.md5 b/.godot/imported/White_mage.png-fdbd721bd126c3ac8c64372cf709b530.md5 new file mode 100644 index 0000000000000000000000000000000000000000..5a4c697ac6380f31be7027bfef7be41ca569e9cf --- /dev/null +++ b/.godot/imported/White_mage.png-fdbd721bd126c3ac8c64372cf709b530.md5 @@ -0,0 +1,3 @@ +source_md5="0934bd3e286bd9f1032ecbe10c481fad" +dest_md5="74aefeccc032fe0cc0eac058899e08b3" + diff --git a/.godot/imported/White_rook.png-c9db72425068861f66815521164a4236.ctex b/.godot/imported/White_rook.png-c9db72425068861f66815521164a4236.ctex new file mode 100644 index 0000000000000000000000000000000000000000..f9a27693d8d7461ef9a5b29a6ef3c131de02b352 Binary files /dev/null and b/.godot/imported/White_rook.png-c9db72425068861f66815521164a4236.ctex differ diff --git a/.godot/imported/White_rook.png-c9db72425068861f66815521164a4236.md5 b/.godot/imported/White_rook.png-c9db72425068861f66815521164a4236.md5 new file mode 100644 index 0000000000000000000000000000000000000000..de25afe770bf38cba7094c6799689c564e0f92ad --- /dev/null +++ b/.godot/imported/White_rook.png-c9db72425068861f66815521164a4236.md5 @@ -0,0 +1,3 @@ +source_md5="8a68b5eb86da6c4d7f1e726dafe6f47a" +dest_md5="83f6135b226d26d07a58f8796fc21d75" + diff --git a/.godot/imported/White_wizard.png-17abee749f8f28c0cac280088ae22bc1.ctex b/.godot/imported/White_wizard.png-17abee749f8f28c0cac280088ae22bc1.ctex new file mode 100644 index 0000000000000000000000000000000000000000..a9e3bd0b6de90958eb0d5e218f1437daf160ccf1 Binary files /dev/null and b/.godot/imported/White_wizard.png-17abee749f8f28c0cac280088ae22bc1.ctex differ diff --git a/.godot/imported/White_wizard.png-17abee749f8f28c0cac280088ae22bc1.md5 b/.godot/imported/White_wizard.png-17abee749f8f28c0cac280088ae22bc1.md5 new file mode 100644 index 0000000000000000000000000000000000000000..323643078d5d936568ef61c228302ff11c6f0dc9 --- /dev/null +++ b/.godot/imported/White_wizard.png-17abee749f8f28c0cac280088ae22bc1.md5 @@ -0,0 +1,3 @@ +source_md5="fe439dfb26e8d2d1daa09e799b6bc84b" +dest_md5="5ddd4e0cd5f42121bb5f4abd574478be" + diff --git a/.godot/imported/bishop.png-bfc2f2b424be190d47037bc32ab9fe92.ctex b/.godot/imported/bishop.png-bfc2f2b424be190d47037bc32ab9fe92.ctex new file mode 100644 index 0000000000000000000000000000000000000000..4a3ed7ef03357628f0895ff09a771c56a9b2d2c9 Binary files /dev/null and b/.godot/imported/bishop.png-bfc2f2b424be190d47037bc32ab9fe92.ctex differ diff --git a/.godot/imported/bishop.png-bfc2f2b424be190d47037bc32ab9fe92.md5 b/.godot/imported/bishop.png-bfc2f2b424be190d47037bc32ab9fe92.md5 new file mode 100644 index 0000000000000000000000000000000000000000..8803919043ba894edba81b0258a38c45a4c9f967 --- /dev/null +++ b/.godot/imported/bishop.png-bfc2f2b424be190d47037bc32ab9fe92.md5 @@ -0,0 +1,3 @@ +source_md5="ce47828c702d2e4591ec897d7e3433b6" +dest_md5="579006a4474b743ed8173ccb6d4f0238" + diff --git a/.godot/imported/black_bishop.png-b2a7b6ca0911e8290b5d79293bde0a77.ctex b/.godot/imported/black_bishop.png-b2a7b6ca0911e8290b5d79293bde0a77.ctex new file mode 100644 index 0000000000000000000000000000000000000000..567555c65e8c2f63f7e61530708988d5d1bb2555 Binary files /dev/null and b/.godot/imported/black_bishop.png-b2a7b6ca0911e8290b5d79293bde0a77.ctex differ diff --git a/.godot/imported/black_bishop.png-b2a7b6ca0911e8290b5d79293bde0a77.md5 b/.godot/imported/black_bishop.png-b2a7b6ca0911e8290b5d79293bde0a77.md5 new file mode 100644 index 0000000000000000000000000000000000000000..e5d5f2b8cf410b08e37f48f4960d08b35562431c --- /dev/null +++ b/.godot/imported/black_bishop.png-b2a7b6ca0911e8290b5d79293bde0a77.md5 @@ -0,0 +1,3 @@ +source_md5="34a2739f73f8697280a06ee83681088f" +dest_md5="beccd41ebe7c6431aca104f3b2a26f1c" + diff --git a/.godot/imported/black_king.png-e894adc6eb4238dd317df1d105d5e6e5.ctex b/.godot/imported/black_king.png-e894adc6eb4238dd317df1d105d5e6e5.ctex new file mode 100644 index 0000000000000000000000000000000000000000..19d9bedac15f2365cfb52755c4f53585996a6095 Binary files /dev/null and b/.godot/imported/black_king.png-e894adc6eb4238dd317df1d105d5e6e5.ctex differ diff --git a/.godot/imported/black_king.png-e894adc6eb4238dd317df1d105d5e6e5.md5 b/.godot/imported/black_king.png-e894adc6eb4238dd317df1d105d5e6e5.md5 new file mode 100644 index 0000000000000000000000000000000000000000..f73f30d18ab306d94a333f6cea11a90eee5a24c8 --- /dev/null +++ b/.godot/imported/black_king.png-e894adc6eb4238dd317df1d105d5e6e5.md5 @@ -0,0 +1,3 @@ +source_md5="91006f821e2e4089c1bbefead9cd2ec0" +dest_md5="f7c98aed97c78db0828bb18a24b156ae" + diff --git a/.godot/imported/black_knight.png-acdc728bdaf04bafe2924d271acac317.ctex b/.godot/imported/black_knight.png-acdc728bdaf04bafe2924d271acac317.ctex new file mode 100644 index 0000000000000000000000000000000000000000..2eaae383e6dbbd96db5b02decd22d0e6020d1bfe Binary files /dev/null and b/.godot/imported/black_knight.png-acdc728bdaf04bafe2924d271acac317.ctex differ diff --git a/.godot/imported/black_knight.png-acdc728bdaf04bafe2924d271acac317.md5 b/.godot/imported/black_knight.png-acdc728bdaf04bafe2924d271acac317.md5 new file mode 100644 index 0000000000000000000000000000000000000000..e15c141360ad08f3da27d9670f657fd5014d8b11 --- /dev/null +++ b/.godot/imported/black_knight.png-acdc728bdaf04bafe2924d271acac317.md5 @@ -0,0 +1,3 @@ +source_md5="3feb8725d4cf8697be98cbea53bb7cf6" +dest_md5="322ff1351923c5eac435c7092f86d483" + diff --git a/.godot/imported/black_pawn.png-9d2aff23e3238bd927bdd21d6bd42a91.ctex b/.godot/imported/black_pawn.png-9d2aff23e3238bd927bdd21d6bd42a91.ctex new file mode 100644 index 0000000000000000000000000000000000000000..198c30cfa229763b5f3356917a7dc14c4d7fe9c3 Binary files /dev/null and b/.godot/imported/black_pawn.png-9d2aff23e3238bd927bdd21d6bd42a91.ctex differ diff --git a/.godot/imported/black_pawn.png-9d2aff23e3238bd927bdd21d6bd42a91.md5 b/.godot/imported/black_pawn.png-9d2aff23e3238bd927bdd21d6bd42a91.md5 new file mode 100644 index 0000000000000000000000000000000000000000..593388e4e052140462f96796cc95ee0ba8b483eb --- /dev/null +++ b/.godot/imported/black_pawn.png-9d2aff23e3238bd927bdd21d6bd42a91.md5 @@ -0,0 +1,3 @@ +source_md5="559c824bbbfc29034d637b558bd81e3b" +dest_md5="280e729c5bc57a120e357c828eb75d2d" + diff --git a/.godot/imported/black_queen.png-3efa3286eab27739b6c48dec1537a357.ctex b/.godot/imported/black_queen.png-3efa3286eab27739b6c48dec1537a357.ctex new file mode 100644 index 0000000000000000000000000000000000000000..ea54691004c56fcf4bacd263462f2061187876e4 Binary files /dev/null and b/.godot/imported/black_queen.png-3efa3286eab27739b6c48dec1537a357.ctex differ diff --git a/.godot/imported/black_queen.png-3efa3286eab27739b6c48dec1537a357.md5 b/.godot/imported/black_queen.png-3efa3286eab27739b6c48dec1537a357.md5 new file mode 100644 index 0000000000000000000000000000000000000000..96f859535fad4441c801659373a2c83fed9ef6d9 --- /dev/null +++ b/.godot/imported/black_queen.png-3efa3286eab27739b6c48dec1537a357.md5 @@ -0,0 +1,3 @@ +source_md5="551b7b8ee1d2cb67dc2cb4d626ad281f" +dest_md5="9ac10389d9b47bae3916b2025956b101" + diff --git a/.godot/imported/black_rook.png-dd50851b220aa4b546437fa7af52783e.ctex b/.godot/imported/black_rook.png-dd50851b220aa4b546437fa7af52783e.ctex new file mode 100644 index 0000000000000000000000000000000000000000..b4adb292a53a532142b10f11fba5aca38d12ac2c Binary files /dev/null and b/.godot/imported/black_rook.png-dd50851b220aa4b546437fa7af52783e.ctex differ diff --git a/.godot/imported/black_rook.png-dd50851b220aa4b546437fa7af52783e.md5 b/.godot/imported/black_rook.png-dd50851b220aa4b546437fa7af52783e.md5 new file mode 100644 index 0000000000000000000000000000000000000000..6916f66e56e189b61c49488819dd1a29f99c3c8c --- /dev/null +++ b/.godot/imported/black_rook.png-dd50851b220aa4b546437fa7af52783e.md5 @@ -0,0 +1,3 @@ +source_md5="bb68660d27be5b7bd74502f41f63fd83" +dest_md5="9ccf8f0a3c67d376da67fdf9768cfd98" + diff --git a/.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex b/.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex new file mode 100644 index 0000000000000000000000000000000000000000..b212427291aeaa58ce8b1638e8eee604482174bb Binary files /dev/null and b/.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex differ diff --git a/.godot/imported/knight.png-f2df08b890c4ea830c735d8e0f73a8e2.ctex b/.godot/imported/knight.png-f2df08b890c4ea830c735d8e0f73a8e2.ctex new file mode 100644 index 0000000000000000000000000000000000000000..37e189440b9d41b12da216c8f6254274a73ce2dd Binary files /dev/null and b/.godot/imported/knight.png-f2df08b890c4ea830c735d8e0f73a8e2.ctex differ diff --git a/.godot/imported/knight.png-f2df08b890c4ea830c735d8e0f73a8e2.md5 b/.godot/imported/knight.png-f2df08b890c4ea830c735d8e0f73a8e2.md5 new file mode 100644 index 0000000000000000000000000000000000000000..ed3121266081eea87c7ef7603db022290fc5569c --- /dev/null +++ b/.godot/imported/knight.png-f2df08b890c4ea830c735d8e0f73a8e2.md5 @@ -0,0 +1,3 @@ +source_md5="ead910c41d67c3797a4ad653271d0bb6" +dest_md5="6c8b3361379aace840884a56e7fe6afb" + diff --git a/.godot/imported/pawn.png-94d470ac8580abcc11784178b451f480.ctex b/.godot/imported/pawn.png-94d470ac8580abcc11784178b451f480.ctex new file mode 100644 index 0000000000000000000000000000000000000000..0fdfb7c921d7ac6f70bd12a49edfd25e85705885 Binary files /dev/null and b/.godot/imported/pawn.png-94d470ac8580abcc11784178b451f480.ctex differ diff --git a/.godot/imported/pawn.png-94d470ac8580abcc11784178b451f480.md5 b/.godot/imported/pawn.png-94d470ac8580abcc11784178b451f480.md5 new file mode 100644 index 0000000000000000000000000000000000000000..f13703ac2d8cd66face0ce8d59c9c75ddd84719a --- /dev/null +++ b/.godot/imported/pawn.png-94d470ac8580abcc11784178b451f480.md5 @@ -0,0 +1,3 @@ +source_md5="21f975f6412335f37618d7e72d3ca0d9" +dest_md5="571e8dabed7bdd31ed6899a6bf5d7586" + diff --git a/.godot/imported/play_button.png-7918b15e1b73d511eceb34d4cd760d86.ctex b/.godot/imported/play_button.png-7918b15e1b73d511eceb34d4cd760d86.ctex new file mode 100644 index 0000000000000000000000000000000000000000..f350873be9ff08f32a580b96af86ce10384d184b Binary files /dev/null and b/.godot/imported/play_button.png-7918b15e1b73d511eceb34d4cd760d86.ctex differ diff --git a/.godot/imported/play_button.png-7918b15e1b73d511eceb34d4cd760d86.md5 b/.godot/imported/play_button.png-7918b15e1b73d511eceb34d4cd760d86.md5 new file mode 100644 index 0000000000000000000000000000000000000000..07a7ca641a5fc3065208003e02608953cc703526 --- /dev/null +++ b/.godot/imported/play_button.png-7918b15e1b73d511eceb34d4cd760d86.md5 @@ -0,0 +1,3 @@ +source_md5="72ae2b3c03615f8f3e38170acd3111a1" +dest_md5="1dce6d7284fb7cf4e920c5acdd49365b" + diff --git a/.godot/imported/quit_button.png-d90620b511b20b4158f543ece5e826ec.ctex b/.godot/imported/quit_button.png-d90620b511b20b4158f543ece5e826ec.ctex new file mode 100644 index 0000000000000000000000000000000000000000..fd18774a12a74e4e608384fd4f251e2647bd7ff9 Binary files /dev/null and b/.godot/imported/quit_button.png-d90620b511b20b4158f543ece5e826ec.ctex differ diff --git a/.godot/imported/quit_button.png-d90620b511b20b4158f543ece5e826ec.md5 b/.godot/imported/quit_button.png-d90620b511b20b4158f543ece5e826ec.md5 new file mode 100644 index 0000000000000000000000000000000000000000..052a0e1ebfd8c53e684d1f7879877bb7d3fb7cfd --- /dev/null +++ b/.godot/imported/quit_button.png-d90620b511b20b4158f543ece5e826ec.md5 @@ -0,0 +1,3 @@ +source_md5="67e2b65abb1f7db7d5c7100be05542af" +dest_md5="7734869149eb58956f95712afd4099b9" + diff --git a/.godot/imported/rook.png-895cf913da3986e60bb87fa7e31fca70.ctex b/.godot/imported/rook.png-895cf913da3986e60bb87fa7e31fca70.ctex new file mode 100644 index 0000000000000000000000000000000000000000..0c7f0d280ac8b1eb90d3306e3fd93c44524607c8 Binary files /dev/null and b/.godot/imported/rook.png-895cf913da3986e60bb87fa7e31fca70.ctex differ diff --git a/.godot/imported/rook.png-895cf913da3986e60bb87fa7e31fca70.md5 b/.godot/imported/rook.png-895cf913da3986e60bb87fa7e31fca70.md5 new file mode 100644 index 0000000000000000000000000000000000000000..60e18632b2de91496992982c34acde3ba71d7b03 --- /dev/null +++ b/.godot/imported/rook.png-895cf913da3986e60bb87fa7e31fca70.md5 @@ -0,0 +1,3 @@ +source_md5="e8dff96eed7fef0bec4718eef3da9ec7" +dest_md5="b9bdc40e1ac99fc72394598b2b20e202" + diff --git a/.godot/imported/rules_button.png-e8ba2274147fd839830a04599a2c0f8e.ctex b/.godot/imported/rules_button.png-e8ba2274147fd839830a04599a2c0f8e.ctex new file mode 100644 index 0000000000000000000000000000000000000000..87ff1c55640e12851a52f56c1bdf040f474e5353 Binary files /dev/null and b/.godot/imported/rules_button.png-e8ba2274147fd839830a04599a2c0f8e.ctex differ diff --git a/.godot/imported/rules_button.png-e8ba2274147fd839830a04599a2c0f8e.md5 b/.godot/imported/rules_button.png-e8ba2274147fd839830a04599a2c0f8e.md5 new file mode 100644 index 0000000000000000000000000000000000000000..0fba4075aa460c33b8707f0b37a79421e3a8af75 --- /dev/null +++ b/.godot/imported/rules_button.png-e8ba2274147fd839830a04599a2c0f8e.md5 @@ -0,0 +1,3 @@ +source_md5="6881662834748feef2e98754259b57a8" +dest_md5="fd57490bd0c357b6ac88c4d162191887" + diff --git a/.godot/imported/temp_chess_board.png-388b10251df72e72615d5cee2ed041c8.ctex b/.godot/imported/temp_chess_board.png-388b10251df72e72615d5cee2ed041c8.ctex new file mode 100644 index 0000000000000000000000000000000000000000..4ed4287bae9c9bf7b707e05bb1a716cb2f0a65b5 Binary files /dev/null and b/.godot/imported/temp_chess_board.png-388b10251df72e72615d5cee2ed041c8.ctex differ diff --git a/.godot/imported/temp_chess_board.png-388b10251df72e72615d5cee2ed041c8.md5 b/.godot/imported/temp_chess_board.png-388b10251df72e72615d5cee2ed041c8.md5 new file mode 100644 index 0000000000000000000000000000000000000000..02f26b3658a119140b115feb0f55820b0309dded --- /dev/null +++ b/.godot/imported/temp_chess_board.png-388b10251df72e72615d5cee2ed041c8.md5 @@ -0,0 +1,3 @@ +source_md5="cdfed4b78b96e7565e4cbf48943952c7" +dest_md5="630f49aafe6c18ba5be3a70e0f5641f1" + diff --git a/.godot/imported/tile.png-2cd3a8b44585e2e7ba705162e472441c.ctex b/.godot/imported/tile.png-2cd3a8b44585e2e7ba705162e472441c.ctex new file mode 100644 index 0000000000000000000000000000000000000000..d8766f8910caf0123608b41aa237f50eaad5b237 Binary files /dev/null and b/.godot/imported/tile.png-2cd3a8b44585e2e7ba705162e472441c.ctex differ diff --git a/.godot/imported/tile.png-2cd3a8b44585e2e7ba705162e472441c.md5 b/.godot/imported/tile.png-2cd3a8b44585e2e7ba705162e472441c.md5 new file mode 100644 index 0000000000000000000000000000000000000000..ef0e9ef29a4409ca881f517649b2274c3d367457 --- /dev/null +++ b/.godot/imported/tile.png-2cd3a8b44585e2e7ba705162e472441c.md5 @@ -0,0 +1,3 @@ +source_md5="360d60d394276688bc8096b817fe5bd1" +dest_md5="149dec25f202c6ab5399bee6a7c6b0f7" + diff --git a/.godot/imported/turn-black.png-ea02298045e58a9b66e43f0b8a65df8e.ctex b/.godot/imported/turn-black.png-ea02298045e58a9b66e43f0b8a65df8e.ctex new file mode 100644 index 0000000000000000000000000000000000000000..9e847c5c043e87e3201f881c38bfa4403c7f9e6b Binary files /dev/null and b/.godot/imported/turn-black.png-ea02298045e58a9b66e43f0b8a65df8e.ctex differ diff --git a/.godot/imported/turn-black.png-ea02298045e58a9b66e43f0b8a65df8e.md5 b/.godot/imported/turn-black.png-ea02298045e58a9b66e43f0b8a65df8e.md5 new file mode 100644 index 0000000000000000000000000000000000000000..6a9a7e5e11fd5545b96b902e1ac34fc471e7c1a9 --- /dev/null +++ b/.godot/imported/turn-black.png-ea02298045e58a9b66e43f0b8a65df8e.md5 @@ -0,0 +1,3 @@ +source_md5="69de60c9a0ce8efc154152c22865cf1e" +dest_md5="025b539a499c7ac3b4cd3a07fd3a5a85" + diff --git a/.godot/imported/turn-white.png-3c93a35532d8750a35b7535b2f0faf39.ctex b/.godot/imported/turn-white.png-3c93a35532d8750a35b7535b2f0faf39.ctex new file mode 100644 index 0000000000000000000000000000000000000000..c8b4d8bd52ff5097935bdd29d8202b8d19de3163 Binary files /dev/null and b/.godot/imported/turn-white.png-3c93a35532d8750a35b7535b2f0faf39.ctex differ diff --git a/.godot/imported/turn-white.png-3c93a35532d8750a35b7535b2f0faf39.md5 b/.godot/imported/turn-white.png-3c93a35532d8750a35b7535b2f0faf39.md5 new file mode 100644 index 0000000000000000000000000000000000000000..7b2f0c3a82577c3dd7bae33bb61446bddd430839 --- /dev/null +++ b/.godot/imported/turn-white.png-3c93a35532d8750a35b7535b2f0faf39.md5 @@ -0,0 +1,3 @@ +source_md5="b780f18b92f7ad8975ca69758c410111" +dest_md5="032b23172ca5c4cc7b7f13546901f077" + diff --git a/.godot/imported/white_bishop.png-85b7978e25b3ea4f79ff44a9f568ecf0.ctex b/.godot/imported/white_bishop.png-85b7978e25b3ea4f79ff44a9f568ecf0.ctex new file mode 100644 index 0000000000000000000000000000000000000000..d5d78b0a1afa14d2d338fde6fb15f7dffd50bffe Binary files /dev/null and b/.godot/imported/white_bishop.png-85b7978e25b3ea4f79ff44a9f568ecf0.ctex differ diff --git a/.godot/imported/white_bishop.png-85b7978e25b3ea4f79ff44a9f568ecf0.md5 b/.godot/imported/white_bishop.png-85b7978e25b3ea4f79ff44a9f568ecf0.md5 new file mode 100644 index 0000000000000000000000000000000000000000..92afd26c9c65dddf1cf62b966d28c07252b81714 --- /dev/null +++ b/.godot/imported/white_bishop.png-85b7978e25b3ea4f79ff44a9f568ecf0.md5 @@ -0,0 +1,3 @@ +source_md5="f69b3625e3a9101251e192fd18ddfc8b" +dest_md5="0740152fd751858857bb118440f59570" + diff --git a/.godot/imported/white_king.png-dcb53a929e90165d5f301c3cf93f13e1.ctex b/.godot/imported/white_king.png-dcb53a929e90165d5f301c3cf93f13e1.ctex new file mode 100644 index 0000000000000000000000000000000000000000..2722cf4063d87c9db1e906dd445cba2e56f4ad9a Binary files /dev/null and b/.godot/imported/white_king.png-dcb53a929e90165d5f301c3cf93f13e1.ctex differ diff --git a/.godot/imported/white_king.png-dcb53a929e90165d5f301c3cf93f13e1.md5 b/.godot/imported/white_king.png-dcb53a929e90165d5f301c3cf93f13e1.md5 new file mode 100644 index 0000000000000000000000000000000000000000..c7cadd8e256971e370a4d924660f8a34fa206256 --- /dev/null +++ b/.godot/imported/white_king.png-dcb53a929e90165d5f301c3cf93f13e1.md5 @@ -0,0 +1,3 @@ +source_md5="b22a7b0319f93617caa637dc16d10cba" +dest_md5="cf579f4c59508eab8b6a53dc1a185078" + diff --git a/.godot/imported/white_knight.png-e597f16fca1a4238329770d2db0d7650.ctex b/.godot/imported/white_knight.png-e597f16fca1a4238329770d2db0d7650.ctex new file mode 100644 index 0000000000000000000000000000000000000000..3798080c898ee56229616e0477c47154f8fda8ee Binary files /dev/null and b/.godot/imported/white_knight.png-e597f16fca1a4238329770d2db0d7650.ctex differ diff --git a/.godot/imported/white_knight.png-e597f16fca1a4238329770d2db0d7650.md5 b/.godot/imported/white_knight.png-e597f16fca1a4238329770d2db0d7650.md5 new file mode 100644 index 0000000000000000000000000000000000000000..736484a5c5febdf0080099f523929633160700a4 --- /dev/null +++ b/.godot/imported/white_knight.png-e597f16fca1a4238329770d2db0d7650.md5 @@ -0,0 +1,3 @@ +source_md5="d29541fcfafa9e875792abfbc4978237" +dest_md5="1674d8ed9cff753705b46f97827d9d8d" + diff --git a/.godot/imported/white_pawn.png-fe7ff9ffd3dd37cbe9c2900659634c1d.ctex b/.godot/imported/white_pawn.png-fe7ff9ffd3dd37cbe9c2900659634c1d.ctex new file mode 100644 index 0000000000000000000000000000000000000000..404617fc23ed6a50721fa518309f44e10cbab9ba Binary files /dev/null and b/.godot/imported/white_pawn.png-fe7ff9ffd3dd37cbe9c2900659634c1d.ctex differ diff --git a/.godot/imported/white_pawn.png-fe7ff9ffd3dd37cbe9c2900659634c1d.md5 b/.godot/imported/white_pawn.png-fe7ff9ffd3dd37cbe9c2900659634c1d.md5 new file mode 100644 index 0000000000000000000000000000000000000000..41085ed5600de362c407271ba5fa08b007c0df3a --- /dev/null +++ b/.godot/imported/white_pawn.png-fe7ff9ffd3dd37cbe9c2900659634c1d.md5 @@ -0,0 +1,3 @@ +source_md5="db8b93969890dbc98ce4a50b1383c4a6" +dest_md5="6942d81e91a73b2c07cf2c63fdec73ac" + diff --git a/.godot/imported/white_queen.png-6735b0e2ea7b6f9f51ff41eff41f72f3.ctex b/.godot/imported/white_queen.png-6735b0e2ea7b6f9f51ff41eff41f72f3.ctex new file mode 100644 index 0000000000000000000000000000000000000000..964b82c659ca67b76a097c6c644f76517ca0b3b2 Binary files /dev/null and b/.godot/imported/white_queen.png-6735b0e2ea7b6f9f51ff41eff41f72f3.ctex differ diff --git a/.godot/imported/white_queen.png-6735b0e2ea7b6f9f51ff41eff41f72f3.md5 b/.godot/imported/white_queen.png-6735b0e2ea7b6f9f51ff41eff41f72f3.md5 new file mode 100644 index 0000000000000000000000000000000000000000..154a0730e90b8ec465ec73597bdf0c9978cab3b8 --- /dev/null +++ b/.godot/imported/white_queen.png-6735b0e2ea7b6f9f51ff41eff41f72f3.md5 @@ -0,0 +1,3 @@ +source_md5="e0eabf8494227397e0bc096b3d5d1846" +dest_md5="edee0b39e71dcdf2bba133c97fd40579" + diff --git a/.godot/imported/white_rook.png-51af18a74e9da13929ab36ea1dda4ed1.ctex b/.godot/imported/white_rook.png-51af18a74e9da13929ab36ea1dda4ed1.ctex new file mode 100644 index 0000000000000000000000000000000000000000..840f45fb9cb5727afed259be70ebd2a98f2452dd Binary files /dev/null and b/.godot/imported/white_rook.png-51af18a74e9da13929ab36ea1dda4ed1.ctex differ diff --git a/.godot/imported/white_rook.png-51af18a74e9da13929ab36ea1dda4ed1.md5 b/.godot/imported/white_rook.png-51af18a74e9da13929ab36ea1dda4ed1.md5 new file mode 100644 index 0000000000000000000000000000000000000000..140ccbe25840639ab126596bd867b230dd9d1359 --- /dev/null +++ b/.godot/imported/white_rook.png-51af18a74e9da13929ab36ea1dda4ed1.md5 @@ -0,0 +1,3 @@ +source_md5="57d2fce8581c7e5da5cbddfb4f9eb315" +dest_md5="379d56d32ed6924d1d6330890b7cf88c" + diff --git a/Assets/temp_assets/assassin.png b/Assets/temp_assets/assassin.png new file mode 100644 index 0000000000000000000000000000000000000000..3423cee0877ee9bae0d5426aef0ee9d8328caa14 Binary files /dev/null and b/Assets/temp_assets/assassin.png differ diff --git a/Assets/temp_assets/assassin.png.import b/Assets/temp_assets/assassin.png.import new file mode 100644 index 0000000000000000000000000000000000000000..2153ed5946f1bedf35cf3560acae179535950d6a --- /dev/null +++ b/Assets/temp_assets/assassin.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://753dogr1moxe" +path="res://.godot/imported/assassin.png-7bbbc406e2629bde9613c01b865eff89.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/temp_assets/assassin.png" +dest_files=["res://.godot/imported/assassin.png-7bbbc406e2629bde9613c01b865eff89.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/temp_assets/mage.png b/Assets/temp_assets/mage.png new file mode 100644 index 0000000000000000000000000000000000000000..b6b20a502f79f4fdb51ba26ea525a5808850d9a4 Binary files /dev/null and b/Assets/temp_assets/mage.png differ diff --git a/Assets/temp_assets/mage.png.import b/Assets/temp_assets/mage.png.import new file mode 100644 index 0000000000000000000000000000000000000000..d6399e4563c83f11bbae237009044b1a65c6e415 --- /dev/null +++ b/Assets/temp_assets/mage.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b7iyt4iwjbtd0" +path="res://.godot/imported/mage.png-aa266229e8d4b8a7cd1dbb6644da4861.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/temp_assets/mage.png" +dest_files=["res://.godot/imported/mage.png-aa266229e8d4b8a7cd1dbb6644da4861.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/temp_assets/wizard.png b/Assets/temp_assets/wizard.png new file mode 100644 index 0000000000000000000000000000000000000000..3f24054cd2e03699f41efe66c5c94b9b3f808775 Binary files /dev/null and b/Assets/temp_assets/wizard.png differ diff --git a/Assets/temp_assets/wizard.png.import b/Assets/temp_assets/wizard.png.import new file mode 100644 index 0000000000000000000000000000000000000000..f70066237689a0f96f1c2f453d09800ed59e95ac --- /dev/null +++ b/Assets/temp_assets/wizard.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bfk1j3brcknkp" +path="res://.godot/imported/wizard.png-dde8c8f6619c79c88090542142689c4d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/temp_assets/wizard.png" +dest_files=["res://.godot/imported/wizard.png-dde8c8f6619c79c88090542142689c4d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/scenes/Assassin.tscn b/scenes/Assassin.tscn new file mode 100644 index 0000000000000000000000000000000000000000..078f6c50f42683e536c7962efc5eb5d57b7be660 --- /dev/null +++ b/scenes/Assassin.tscn @@ -0,0 +1,10 @@ +[gd_scene load_steps=3 format=3 uid="uid://rxpfuqov0sdv"] + +[ext_resource type="Script" path="res://scripts/Assassin.gd" id="1_g33mq"] +[ext_resource type="Texture2D" uid="uid://753dogr1moxe" path="res://assets/temp_assets/assassin.png" id="2_wrp2r"] + +[node name="Node2D" type="Node2D"] +script = ExtResource("1_g33mq") + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = ExtResource("2_wrp2r") diff --git a/scenes/Mage.tscn b/scenes/Mage.tscn new file mode 100644 index 0000000000000000000000000000000000000000..cfeb30c30882d4f152bf000c25e7d7740bd71ced --- /dev/null +++ b/scenes/Mage.tscn @@ -0,0 +1,10 @@ +[gd_scene load_steps=3 format=3 uid="uid://fag2130aog4"] + +[ext_resource type="Script" path="res://scripts/Mage.gd" id="1_o7lxu"] +[ext_resource type="Texture2D" uid="uid://b7iyt4iwjbtd0" path="res://assets/temp_assets/mage.png" id="2_i5ela"] + +[node name="Node2D" type="Node2D"] +script = ExtResource("1_o7lxu") + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = ExtResource("2_i5ela") diff --git a/scenes/Wizard.tscn b/scenes/Wizard.tscn new file mode 100644 index 0000000000000000000000000000000000000000..904cd0fe316c9a308d0940109411f5b0c21b49e4 --- /dev/null +++ b/scenes/Wizard.tscn @@ -0,0 +1,10 @@ +[gd_scene load_steps=3 format=3 uid="uid://cwrcas374ms6f"] + +[ext_resource type="Script" path="res://scripts/Wizard.gd" id="1_l2hsv"] +[ext_resource type="Texture2D" uid="uid://bfk1j3brcknkp" path="res://assets/temp_assets/wizard.png" id="2_vybdv"] + +[node name="Node2D" type="Node2D"] +script = ExtResource("1_l2hsv") + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = ExtResource("2_vybdv") diff --git a/scenes/game.tscn b/scenes/game.tscn index 50acfb4c32bee12cafb0b5bf5e88b92fd70731d3..5f027e294f8c6e5918dfdcfe49bfded4bf491463 100644 --- a/scenes/game.tscn +++ b/scenes/game.tscn @@ -19,8 +19,6 @@ shader_parameter/noise3 = ExtResource("5_hkjcj") [node name="Game" type="Node"] script = ExtResource("1_cbchi") -X = 8 -Y = 8 dark = Color(0.1, 0.25, 0.6, 1) light = Color(0.826, 0.826, 0.826, 1) @@ -59,3 +57,9 @@ radial_accel_max = 70.25 scale_amount_min = 2.0 scale_amount_max = 3.0 color = Color(0, 0, 0, 1) + +[node name="PlayerPieces" type="Node2D" parent="."] +position = Vector2(100, 400) + +[node name="OpponentPieces" type="Node2D" parent="."] +position = Vector2(100, 100) diff --git a/scripts/Assassin.gd b/scripts/Assassin.gd new file mode 100644 index 0000000000000000000000000000000000000000..cb26d07c133c03fdaff763dd483780a6f697ed38 --- /dev/null +++ b/scripts/Assassin.gd @@ -0,0 +1,58 @@ +extends Piece + +class_name Assassin + +enum Upgrade { + # Add any specific upgrades for Assassin here +} + +var board_state: Array + +func _init(is_white_param: bool, position_param: Vector2): + super._init(is_white_param, position_param) + +# Capturing is handled in main game.gd +func get_valid_moves(board: Array, pos: Vector2) -> Array[Vector2]: + var valid_moves: Array[Vector2] = [] + var sel_x = pos.x + var sel_y = pos.y + + # Add moves based on the provided logic + for x in range(board.size()): + for y in range(board.size()): + if int((x + y)) % 2 == int((sel_x + sel_y)) % 2 and is_empty(board, x, y): + valid_moves.append(Vector2(x, y)) + + if is_opponent(board, sel_x, sel_y): + if sel_y - 1 >= 0: + if is_opposite(board, sel_x, sel_y - 1): + valid_moves.append(Vector2(sel_x, sel_y - 1)) + if sel_x + 1 < board.size(): + if is_opposite(board, sel_x + 1, sel_y - 1): + valid_moves.append(Vector2(sel_x + 1, sel_y - 1)) + if sel_x - 1 >= 0: + if is_opposite(board, sel_x - 1, sel_y - 1): + valid_moves.append(Vector2(sel_x - 1, sel_y - 1)) + else: + if sel_y + 1 < board.size(): + if is_opposite(board, sel_x, sel_y + 1): + valid_moves.append(Vector2(sel_x, sel_y + 1)) + if sel_x + 1 < board.size(): + if is_opposite(board, sel_x + 1, sel_y + 1): + valid_moves.append(Vector2(sel_x + 1, sel_y + 1)) + if sel_x - 1 >= 0: + if is_opposite(board, sel_x - 1, sel_y + 1): + valid_moves.append(Vector2(sel_x - 1, sel_y + 1)) + + return valid_moves + + + +func is_empty(board: Array, x: int, y: int) -> bool: + return board[x][y] == null + +func is_opponent(board: Array, x: int, y: int) -> bool: + return board[x][y] != null and board[x][y].is_white != is_white + +func is_opposite(board: Array, x: int, y: int) -> bool: + return board[x][y] != null and board[x][y].is_white == is_white diff --git a/scripts/Bishop.gd b/scripts/Bishop.gd index 5b69d5fc83f99b42ce6178b93495b5878673c5ea..301f92b43cbfae39443e8838608fd6d3196d2c24 100644 --- a/scripts/Bishop.gd +++ b/scripts/Bishop.gd @@ -6,8 +6,8 @@ enum Upgrade { MOVE_CARDINAL_ONE, } -func _init(is_white: bool, position: Vector2): - super._init(is_white, position) +func _init(is_white_param: bool, position_param: Vector2): + super._init(is_white_param, position_param) # Testing upgrades upgrades.append(Upgrade.MOVE_CARDINAL_ONE) diff --git a/scripts/King.gd b/scripts/King.gd index 133a17de26b2922572afd42303124ddabf03c25d..ff0f176d0eb3631d26092a2d7035ba491cd4c066 100644 --- a/scripts/King.gd +++ b/scripts/King.gd @@ -6,8 +6,8 @@ enum Upgrade { # Add any specific upgrades for King here } -func _init(is_white: bool, position: Vector2): - super._init(is_white, position) +func _init(is_white_param: bool, position_param: Vector2): + super._init(is_white_param, position_param) func get_valid_moves(board_state: Array, pos: Vector2) -> Array[Vector2]: var valid_moves: Array[Vector2] = [] diff --git a/scripts/Knight.gd b/scripts/Knight.gd index fd49fc15211f693ac8580f2dc5b0efa778fba875..173a6e0f442a9ecca190c9a0667a4774985e2f63 100644 --- a/scripts/Knight.gd +++ b/scripts/Knight.gd @@ -6,8 +6,8 @@ enum Upgrade { LONGER_L_MOVE, } -func _init(is_white: bool, position: Vector2): - super._init(is_white, position) +func _init(is_white_param: bool, position_param: Vector2): + super._init(is_white_param, position_param) # Testing upgrades #upgrades.append(Upgrade.LONGER_L_MOVE) @@ -23,6 +23,7 @@ func get_valid_moves(board_state: Array, pos: Vector2) -> Array[Vector2]: Vector2(x + 1, y + 2), Vector2(x + 1, y - 2), Vector2(x - 1, y + 2), Vector2(x - 1, y - 2) ] + # Check for LONGER_L_MOVE upgrade if Upgrade.LONGER_L_MOVE in upgrades: moves += [ diff --git a/scripts/Mage.gd b/scripts/Mage.gd new file mode 100644 index 0000000000000000000000000000000000000000..c862e97df6f663df745aac59548e64a7c36e9d15 --- /dev/null +++ b/scripts/Mage.gd @@ -0,0 +1,124 @@ +extends Piece + +class_name Mage + +enum Upgrade { + # Add any specific upgrades for Mage here +} + +@onready var game_node = get_tree().root.get_node("Game") + +func _init(is_white_param: bool, position_param: Vector2): + super._init(is_white_param, position_param) + +func get_valid_moves(board_state: Array, pos: Vector2) -> Array[Vector2]: + var valid_moves: Array[Vector2] = [] + var sel_x = pos.x + var sel_y = pos.y + + # Add moves based on the provided logic + if (sel_x + 1) < 8 and (sel_y + 1) < 8: + if is_empty(board_state, sel_x + 1, sel_y + 1): + valid_moves.append(Vector2(sel_x + 1, sel_y + 1)) + if (sel_x - 1) >= 0 and (sel_y + 1) < 8: + if is_empty(board_state, sel_x - 1, sel_y + 1): + valid_moves.append(Vector2(sel_x - 1, sel_y + 1)) + if (sel_x + 1) < 8 and (sel_y - 1) >= 0: + if is_empty(board_state, sel_x + 1, sel_y - 1): + valid_moves.append(Vector2(sel_x + 1, sel_y - 1)) + if (sel_x - 1) >= 0 and (sel_y - 1) >= 0: + if is_empty(board_state, sel_x - 1, sel_y - 1): + valid_moves.append(Vector2(sel_x - 1, sel_y - 1)) + + if (sel_x + 1) < 8: + if is_empty(board_state, sel_x + 1, sel_y): + valid_moves.append(Vector2(sel_x + 1, sel_y)) + if (sel_x - 1) >= 0: + if is_empty(board_state, sel_x - 1, sel_y): + valid_moves.append(Vector2(sel_x - 1, sel_y)) + + if (sel_y + 1) < 8: + if is_empty(board_state, sel_x, sel_y + 1): + valid_moves.append(Vector2(sel_x, sel_y + 1)) + if (sel_y - 1) >= 0: + if is_empty(board_state, sel_x, sel_y - 1): + valid_moves.append(Vector2(sel_x, sel_y - 1)) + + return valid_moves + +func get_valid_shots(board_state: Array, pos: Vector2) -> Array[Vector2]: + var valid_shots: Array[Vector2] = [] + var sel_x = pos.x + var sel_y = pos.y + + # Valid shots diagonally down and right + for x in range(1, 8): + var new_x = sel_x + x + var new_y = sel_y + x + if new_x < 8 and new_y < 8: + if is_empty(board_state, new_x, new_y): + pass + elif is_opposite(board_state, new_x, new_y): + valid_shots.append(Vector2(new_x, new_y)) + break + else: + break + else: + break + + # Repeat for diagonally up and left + for x in range(1, 8): + var new_x = sel_x - x + var new_y = sel_y - x + if new_x >= 0 and new_y >= 0: + if is_empty(board_state, new_x, new_y): + pass + elif is_opposite(board_state, new_x, new_y): + valid_shots.append(Vector2(new_x, new_y)) + break + else: + break + else: + break + + # Repeat for diagonally down and left + for x in range(1, 8): + var new_x = sel_x - x + var new_y = sel_y + x + if new_x >= 0 and new_y < 8: + if is_empty(board_state, new_x, new_y): + pass + elif is_opposite(board_state, new_x, new_y): + valid_shots.append(Vector2(new_x, new_y)) + break + else: + break + else: + break + + # Repeat for diagonally up and right + for x in range(1, 8): + var new_x = sel_x + x + var new_y = sel_y - x + if new_x < 8 and new_y >= 0: + if is_empty(board_state, new_x, new_y): + pass + elif is_opposite(board_state, new_x, new_y): + valid_shots.append(Vector2(new_x, new_y)) + break + else: + break + else: + break + + return valid_shots + +func shoot_projectile(x: int, y: int): + game_node.shoot_projectile(x, y) + +func is_empty(board_state: Array, x: int, y: int) -> bool: + return board_state[x][y] == null + +func is_opposite(board_state: Array, x: int, y: int) -> bool: + return board_state[x][y] != null and board_state[x][y].is_white != is_white + diff --git a/scripts/Pawn.gd b/scripts/Pawn.gd index bfd4848e2879f4fd488ab2d0f5c580a9d4b053a8..8a6e6b0354aa40938e6b4f227f4bd1462ca396f3 100644 --- a/scripts/Pawn.gd +++ b/scripts/Pawn.gd @@ -2,13 +2,18 @@ extends Piece class_name Pawn +var Game = preload("res://scripts/game.gd") + enum Upgrade { DOUBLE_MOVE, DIAGONAL_MOVE } -func _init(is_white: bool, position: Vector2): - super._init(is_white, position) +var tile_size = 64 # Make this global?... +@onready var opponent_shader = load("res://shaders/BlackShader.shader") + +func _init(is_white_param: bool, position_param: Vector2): + super._init(is_white_param, position_param) # Testing upgrades - # upgrades.append(Upgrade.DOUBLE_MOVE) - # upgrades.append(Upgrade.DIAGONAL_MOVE) + upgrades.append(Upgrade.DOUBLE_MOVE) + upgrades.append(Upgrade.DIAGONAL_MOVE) func get_valid_moves(board_state: Array, pos: Vector2) -> Array[Vector2]: @@ -16,6 +21,8 @@ func get_valid_moves(board_state: Array, pos: Vector2) -> Array[Vector2]: var x = pos.x var y = pos.y + # TODO: Add En passant move + if is_white: # Check if the pawn is at the starting position if (y == 7 or Upgrade.DOUBLE_MOVE in upgrades) and board_state[x][y - 1] == null: @@ -38,6 +45,12 @@ func get_valid_moves(board_state: Array, pos: Vector2) -> Array[Vector2]: if x < 7 and y > 0 and board_state[x + 1][y - 1] == null: valid_moves.append(Vector2(x + 1, y - 1)) + # Check for promotion + if y == 0: + board_state[x][y] = Queen.new(is_white, Vector2(x, y)) + + + else: if y < 1 and board_state[x][y + 1] == null: valid_moves.append(Vector2(x, y + 1)) @@ -51,4 +64,8 @@ func get_valid_moves(board_state: Array, pos: Vector2) -> Array[Vector2]: if x < 7 and y < 7 and board_state[x + 1][y + 1] != null and board_state[x + 1][y + 1].is_white: valid_moves.append(Vector2(x + 1, y + 1)) + # Check for promotion + # if y == 7: + # board_state[x][y] = Queen.new(is_white, Vector2(x, y)) + return valid_moves diff --git a/scripts/Piece.gd b/scripts/Piece.gd index 9a7de828a5dff203aebfa903ef73063e7d5480d1..2b6d30da53aaf666aad6e14b659068f77d8d4815 100644 --- a/scripts/Piece.gd +++ b/scripts/Piece.gd @@ -11,11 +11,11 @@ var upgrades: Array = [] # initialization method -func _init(is_white: bool, piece_position: Vector2) -> void: - self.is_white = is_white - self.piece_position = piece_position +func _init(is_white_param: bool, piece_position_param: Vector2) -> void: + self.is_white = is_white_param + self.piece_position = piece_position_param # Method to get valid moves (to be overridden by subclasses) -func get_valid_moves(board_state: Array, pos: Vector2) -> Array[Vector2]: +func get_valid_moves(_board_state: Array, _pos: Vector2) -> Array[Vector2]: var moves = [] return moves diff --git a/scripts/Queen.gd b/scripts/Queen.gd index 7e65fc9f82bff6cad48a0dd88c47f1582e7fff1b..0fce2fe3477b8b0e7fa88607ea9725e0011f0b0c 100644 --- a/scripts/Queen.gd +++ b/scripts/Queen.gd @@ -6,8 +6,8 @@ enum Upgrade { # Add any specific upgrades for Queen here } -func _init(is_white: bool, position: Vector2): - super._init(is_white, position) +func _init(is_white_param: bool, position_param: Vector2): + super._init(is_white_param, position_param) func get_valid_moves(board_state: Array, pos: Vector2) -> Array[Vector2]: var valid_moves: Array[Vector2] = [] diff --git a/scripts/Rook.gd b/scripts/Rook.gd index 2b53c0fff81a8d41831a77e39016b0177607d9df..d90b32fd28a8601f3ac629d7b82b10c363da2d1e 100644 --- a/scripts/Rook.gd +++ b/scripts/Rook.gd @@ -6,8 +6,8 @@ enum Upgrade { DIAGONAL_MOVE_ONE, } -func _init(is_white: bool, position: Vector2): - super._init(is_white, position) +func _init(is_white_param: bool, position_param: Vector2): + super._init(is_white_param, position_param) # Testing upgrades # upgrades.append(Upgrade.DIAGONAL_MOVE_ONE) diff --git a/scripts/Wizard.gd b/scripts/Wizard.gd new file mode 100644 index 0000000000000000000000000000000000000000..24e694faebaf93eaebd6b888759fecbcc0a9ae0f --- /dev/null +++ b/scripts/Wizard.gd @@ -0,0 +1,119 @@ +extends Piece + +class_name Wizard + +enum Upgrade { + # Add any specific upgrades for Wizard here +} + +@onready var game_node = get_tree().root.get_node("Game") + +func _init(is_white_param: bool, position_param: Vector2): + super._init(is_white_param, position_param) + +func get_valid_moves(board_state: Array, pos: Vector2) -> Array[Vector2]: + var valid_moves: Array[Vector2] = [] + var sel_x = pos.x + var sel_y = pos.y + + # Add moves based on the provided logic + if (sel_x + 1) < 8 and (sel_y + 1) < 8: + if is_empty(board_state, sel_x + 1, sel_y + 1): + valid_moves.append(Vector2(sel_x + 1, sel_y + 1)) + if (sel_x - 1) >= 0 and (sel_y + 1) < 8: + if is_empty(board_state, sel_x - 1, sel_y + 1): + valid_moves.append(Vector2(sel_x - 1, sel_y + 1)) + if (sel_x + 1) < 8 and (sel_y - 1) >= 0: + if is_empty(board_state, sel_x + 1, sel_y - 1): + valid_moves.append(Vector2(sel_x + 1, sel_y - 1)) + if (sel_x - 1) >= 0 and (sel_y - 1) >= 0: + if is_empty(board_state, sel_x - 1, sel_y - 1): + valid_moves.append(Vector2(sel_x - 1, sel_y - 1)) + + if (sel_x + 1) < 8: + if is_empty(board_state, sel_x + 1, sel_y): + valid_moves.append(Vector2(sel_x + 1, sel_y)) + if (sel_x - 1) >= 0: + if is_empty(board_state, sel_x - 1, sel_y): + valid_moves.append(Vector2(sel_x - 1, sel_y)) + + if (sel_y + 1) < 8: + if is_empty(board_state, sel_x, sel_y + 1): + valid_moves.append(Vector2(sel_x, sel_y + 1)) + if (sel_y - 1) >= 0: + if is_empty(board_state, sel_x, sel_y - 1): + valid_moves.append(Vector2(sel_x, sel_y - 1)) + + return valid_moves + +func get_valid_shots(board_state: Array, pos: Vector2) -> Array[Vector2]: + var valid_shots: Array[Vector2] = [] + var sel_x = pos.x + var sel_y = pos.y + + # Valid shots to the right + for x in range(1, 8): + var new_x = sel_x + x + if new_x < 8: + if is_empty(board_state, new_x, sel_y): + pass + elif is_opposite(board_state, new_x, sel_y): + valid_shots.append(Vector2(new_x, sel_y)) + break + else: + break + else: + break + + # Repeat for left + for x in range(1, 8): + var new_x = sel_x - x + if new_x >= 0: + if is_empty(board_state, new_x, sel_y): + pass + elif is_opposite(board_state, new_x, sel_y): + valid_shots.append(Vector2(new_x, sel_y)) + break + else: + break + else: + break + + # Repeat for down + for y in range(1, 8): + var new_y = sel_y + y + if new_y < 8: + if is_empty(board_state, sel_x, new_y): + pass + elif is_opposite(board_state, sel_x, new_y): + valid_shots.append(Vector2(sel_x, new_y)) + break + else: + break + else: + break + + # Repeat for up + for y in range(1, 8): + var new_y = sel_y - y + if new_y >= 0: + if is_empty(board_state, sel_x, new_y): + pass + elif is_opposite(board_state, sel_x, new_y): + valid_shots.append(Vector2(sel_x, new_y)) + break + else: + break + else: + break + + return valid_shots + +func shoot_projectile(x: int, y: int): + game_node.shoot_projectile(x, y) + +func is_empty(board_state: Array, x: int, y: int) -> bool: + return board_state[x][y] == null + +func is_opposite(board_state: Array, x: int, y: int) -> bool: + return board_state[x][y] != null and board_state[x][y].is_white != is_white diff --git a/scripts/game.gd b/scripts/game.gd index 5a3fdd23766a6e58d234785bc223b5de49400515..3011c2b34c73876514a47db3368855c4d142305c 100644 --- a/scripts/game.gd +++ b/scripts/game.gd @@ -1,8 +1,6 @@ extends Node class_name game -@export var X : int -@export var Y : int @export var tile_size = 64 @export var dark = Color(0,0,0,1) @export var light =Color(1,1,1,1) @@ -18,6 +16,10 @@ class_name game @onready var piece_container = $PieceContainer @onready var board = [] +@onready var player_pieces = $PlayerPieces +@onready var player_piece_count = 0 +@onready var opponent_pieces = $OpponentPieces +@onready var opponent_piece_count = 0 var selected_piece var selected_piece_value @@ -25,46 +27,52 @@ var selected_piece_position var valid_moves = [] @onready var selected_shader: ShaderMaterial = ShaderMaterial.new() +var board_width = 8 +var board_height = 8 var target_position var moving: bool var sprite: Sprite2D +var player_turn : bool = true + @onready var explosion_effect = $Explosion func _ready() -> void: DisplayServer.window_set_min_size(Vector2(1152, 648)) # Set minimum window size - #creates 2D array for board, with empty ('0') spaces - for x in range(X): + #creates 2D array for board, with empty (null) spaces + for x in range(board_width): board.append([]) - for y in range(Y): + for y in range(board_height): board[x].append(null) #hard-coded setup of pieces board[0][7] = Rook.new(true, Vector2(0, 7)) + board[1][6] = Wizard.new(true, Vector2(0, 7)) board[1][7] = Bishop.new(true, Vector2(1, 7)) board[2][7] = King.new(true, Vector2(2, 7)) board[3][6] = Queen.new(true, Vector2(3, 6)) - board[4][7] = Pawn.new(true, Vector2(4, 7)) + board[4][2] = Pawn.new(true, Vector2(4, 7)) board[5][7] = Knight.new(true, Vector2(5, 7)) - board[6][7] = Pawn.new(true, Vector2(6, 7)) + board[6][7] = Assassin.new(true, Vector2(6, 7)) + board[7][6] = Mage.new(true, Vector2(7, 6)) board[7][7] = Rook.new(true, Vector2(7, 7)) board[0][4] = Rook.new(false, Vector2(0, 4)) board[1][5] = Bishop.new(false, Vector2(1, 5)) board[3][2] = Queen.new(false, Vector2(3, 2)) board[3][5] = Pawn.new(false, Vector2(3, 5)) - board[4][4] = Pawn.new(false, Vector2(4, 4)) + board[4][4] = Assassin.new(false, Vector2(4, 4)) board[3][4] = Pawn.new(false, Vector2(3, 4)) - board[4][3] = Pawn.new(false, Vector2(4, 3)) + board[4][3] = Mage.new(false, Vector2(4, 3)) board[7][5] = Rook.new(false, Vector2(7, 5)) #potential 'holes', not quite working yet #board[3][3] = '/' - draw_board(X,Y) + draw_board(board_width,board_height) #set up color for opponent's shader, currently set to black opponent_shader.shader = preload("res://assets/shaders/color.gdshader").duplicate() @@ -105,12 +113,31 @@ func _process(delta: float) -> void: 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() + 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) + func draw_pieces(): #iterate through all tiles, if tile has a piece, #add corresponding piece with correct sprite to piece_container - for x in range(X): - for y in range(Y): + for x in range(board_width): + for y in range(board_height): if !is_empty(x, y): var piece_scene if board[x][y] is Pawn: @@ -125,14 +152,18 @@ func draw_pieces(): piece_scene = preload("res://scenes/King.tscn") elif board[x][y] is Knight: piece_scene = preload("res://scenes/Knight.tscn") - - # Add other piece types here (e.g., Knight, Bishop, Queen, King) + elif board[x][y] is Assassin: + piece_scene = preload("res://scenes/Assassin.tscn") + elif board[x][y] is Mage: + piece_scene = preload("res://scenes/Mage.tscn") + elif board[x][y] is Wizard: + piece_scene = preload("res://scenes/Wizard.tscn") if piece_scene: var piece_instance = piece_scene.instantiate() - piece_instance.position = Vector2((x * tile_size) + tile_size/2, (y * tile_size) + tile_size/2) + piece_instance.position = Vector2((x * tile_size) + tile_size/2.0, (y * tile_size) + tile_size/2.0) piece_instance.z_index = 3 - + # Scale the sprite by 25% for all pieces except the king if board[x][y] is King: piece_instance.scale = Vector2(2.0, 2.0) # Scale the king by 50% @@ -141,9 +172,9 @@ func draw_pieces(): # If piece is opponent, add a black shader to piece if board[x][y].is_white == false: - var sprite = piece_instance.get_node("Sprite2D") as Sprite2D - if sprite: - sprite.material = opponent_shader + var piece_sprite = piece_instance.get_node("Sprite2D") as Sprite2D + if piece_sprite: + piece_sprite.material = opponent_shader piece_container.add_child(piece_instance) @@ -152,15 +183,15 @@ func draw_pieces(): #used to center board, shadow and pieces at 2/3 of x axis and 1/2 of y axis func translate() -> Vector2: var screen_size = get_viewport().get_visible_rect().size - var board_x_offset = X * tile_size / 2 - var board_y_offset = Y * tile_size / 2 + var board_x_offset = float(board_width * tile_size) / 2 + var board_y_offset = float(board_height * tile_size) / 2 #places top left corner at 2/3 of x axis and 1/2 of y axis, then translates to center return Vector2(screen_size.x * 2 / 3 - board_x_offset, screen_size.y / 2 - board_y_offset) #color rect version -func draw_board(X, Y): - for x in range(X): - for y in range(Y): +func draw_board(width, height): + for x in range(width): + for y in range(height): var tile = ColorRect.new() if (x + y)%2 == 0: tile.color = light @@ -170,9 +201,6 @@ func draw_board(X, Y): tile.position = Vector2(x * tile_size, y * tile_size) tile_container.add_child(tile) - var screen_size = get_viewport().get_visible_rect().size - var board_x_offset = X * tile_size / 2 - var board_y_offset = Y * tile_size / 2 var shadow_shader = ShaderMaterial.new() shadow_shader.shader = preload("res://assets/shaders/shadow.gdshader") @@ -185,7 +213,7 @@ func draw_board(X, Y): shadow_container.add_child(shadow) #textured rect version -func draw_board_texture_rect(X, Y): +func draw_board_texture_rect(width, height): dark_tile_shader.shader = preload("res://assets/shaders/color.gdshader").duplicate() dark_tile_shader.set_shader_parameter('r', 0.1) dark_tile_shader.set_shader_parameter('g', 0.25) @@ -196,8 +224,8 @@ func draw_board_texture_rect(X, Y): light_tile_shader.set_shader_parameter('g', 0.85) light_tile_shader.set_shader_parameter('b', 0.85) - for x in range(X): - for y in range(Y): + for x in range(width): + for y in range(height): if board[x][y] == '/': pass else: @@ -211,10 +239,6 @@ func draw_board_texture_rect(X, Y): tile.position = Vector2(x * tile_size, y * tile_size) tile_container.add_child(tile) - var screen_size = get_viewport().get_visible_rect().size - var board_x_offset = X * tile_size / 2 - var board_y_offset = Y * tile_size / 2 - var shadow_shader = ShaderMaterial.new() shadow_shader.shader = preload("res://assets/shaders/shadow.gdshader") @@ -227,8 +251,8 @@ func draw_board_texture_rect(X, Y): #detects if mouse events occur within the board func is_on_board(position : Vector2) -> bool: - if position.x < (X * tile_size) && position.x > 0: - if position.y < (Y * tile_size) && position.y > 0: + if position.x < (board_width * tile_size) && position.x > 0: + if position.y < (board_height * tile_size) && position.y > 0: return true return false @@ -250,20 +274,34 @@ func _input(event): #if mouse click is a left click, proceed if event.button_index == MOUSE_BUTTON_LEFT: - #if the tile is a player's piece, select or deselect it - if !is_empty(x,y) && !(is_opponent(x,y)): - #if there is a currently selected piece that is on the selected tile, deselect that piece - if selected_piece != null: - if board[x][y] == selected_piece_value: - unselect_piece() + if player_turn: + #if the tile is a player's piece, select or deselect it + if !is_empty(x,y) && !(is_opponent(x,y)): + #if there is a currently selected piece that is on the selected tile, deselect that piece + if selected_piece != null: + if board[x][y] == selected_piece_value: + unselect_piece() + else: + select_piece(x,y) + #otherwise, select the piece else: select_piece(x,y) - #otherwise, select the piece + #if the tile is empty or an opponents piece, move the selected piece to that tile else: - select_piece(x,y) - #if the tile is empty or an opponents piece, move the selected piece to that tile + move_selected_piece(x,y) else: - move_selected_piece(x,y) + print("It's not your turn!") + if !is_empty(x,y) && is_opponent(x,y): + if selected_piece!=null: + if board[x][y] == selected_piece_value: + unselect_piece() + else: + select_piece(x,y) + else: + select_piece(x,y) + else: + move_selected_piece(x,y) + func is_opponent(x,y): @@ -276,6 +314,14 @@ func is_opponent(x,y): else: return !board[x][y].is_white +func is_opposite(x,y): + if board[x][y] == null: + return false + else: + if selected_piece != null: + return board[x][y].is_white == selected_piece_value.is_white + else: + return board[x][y].is_white func is_empty(x, y): @@ -293,11 +339,38 @@ func is_empty(x, y): func remove_piece(x,y): #iterate through the pieces in piece_container, if that piece is at location x,y, remove it + # TODO: Fix bug with promoted Queen, when capturing other pieces, they are not visually removed. for child in piece_container.get_children(): #translate x,y index values to screen coordinates - if child.position == Vector2(x*tile_size+32, y*tile_size+32): + if child.position == Vector2(x*tile_size + 32, y*tile_size + 32): explosion_effect.position = child.position + translate() explosion_effect.restart() + + var piece = child.duplicate() + if is_opponent(x, y): + opponent_piece_count += 1 + if opponent_piece_count <= 4: + piece.position = Vector2(opponent_piece_count - 1, 0) * tile_size + elif opponent_piece_count <= 8: + piece.position = Vector2(opponent_piece_count - 5, 1) * tile_size + elif opponent_piece_count <= 12: + piece.position = Vector2(opponent_piece_count - 9, 2) * tile_size + else: + piece.position = Vector2(opponent_piece_count - 13, 3) * tile_size + opponent_pieces.add_child(piece) + else: + player_piece_count += 1 + if player_piece_count <= 4: + piece.position = Vector2(player_piece_count - 1, 0) * tile_size + elif player_piece_count <= 8: + piece.position = Vector2(player_piece_count - 5, 1) * tile_size + elif player_piece_count <= 12: + piece.position = Vector2(player_piece_count - 9, 2) * tile_size + else: + piece.position = Vector2(player_piece_count - 13, 3) * tile_size + player_pieces.add_child(piece) + + piece_container.remove_child(child) child.queue_free() break @@ -328,7 +401,12 @@ func unselect_piece(): func highlight_tiles(): # Clear the previously selected valid moves remove_highlight() - valid_moves = selected_piece_value.get_valid_moves(board, selected_piece_position) + if selected_piece_value is Mage || selected_piece_value is Wizard: + valid_moves = selected_piece_value.get_valid_moves(board, selected_piece_position) + valid_moves += selected_piece_value.get_valid_shots(board, selected_piece_position) + else: + valid_moves = selected_piece_value.get_valid_moves(board, selected_piece_position) + for child in tile_container.get_children(): if child.position / tile_size in valid_moves: @@ -351,28 +429,57 @@ func move_selected_piece(x,y): if selected_piece != null: #can only move to tiles in valid_moves if Vector2(x,y) in valid_moves: - #if tile has opponent piece, remove piece - if is_opponent(x,y): - print("Capturing opponent piece") - remove_piece(x,y) - - #clear the selected_piece's previous position - board[selected_piece_position.x][selected_piece_position.y] = null - - #update selected_piece's screen coordinate position - selected_piece_position = Vector2((x*tile_size)+ tile_size/2, (y*tile_size) + tile_size/2) - - board[x][y] = selected_piece_value - - target_position = selected_piece_position - moving = true - valid_moves = [] - + if selected_piece_value is Mage || selected_piece_value is Wizard: + if abs(selected_piece_position.x - x) <= 1 and abs(selected_piece_position.y - y) <= 1: + if is_empty(x, y): + move_piece(x, y) + else: + shoot_projectile(x, y) + else: + shoot_projectile(x, y) + + # check for if assassin is moving behind the opponent's pieces + elif selected_piece_value is Assassin: + if selected_piece_value.is_white: + if is_opponent(x, y + 1): + remove_piece(x, y + 1) + else: + if is_opponent(x, y - 1): + remove_piece(x, y - 1) + move_piece(x, y) + + else: + move_piece(x, y) else: unselect_piece() - remove_highlight() - - - + +func move_piece(x, y): + # If tile has opponent piece, remove piece + if is_opponent(x, y): + remove_piece(x, y) + + # Clear the selected_piece's previous position + board[selected_piece_position.x][selected_piece_position.y] = null + + # Update the board with the new position + board[x][y] = selected_piece_value + + # Update selected_piece's screen coordinate position + selected_piece_position = Vector2((x * tile_size) + tile_size / 2.0, (y * tile_size) + tile_size / 2.0) + + target_position = selected_piece_position + moving = true + valid_moves = [] + +func shoot_projectile(x: int, y: int): + remove_piece(x, y) + board[x][y] = null + unselect_piece() + + explosion_effect.color = Color(1, 0, 1) + explosion_effect.position = Vector2(x, y) * tile_size + translate() + Vector2(tile_size / 2.0, tile_size / 2.0) + explosion_effect.restart() + + # player_turn = !player_turn