diff --git a/.godot/editor/editor_layout.cfg b/.godot/editor/editor_layout.cfg
index fd86f4d0a56d9bcf7d90ca557f033c51d4a047a7..72202bdfd70a235a68ae09d843a23d2b8003e3ac 100644
--- a/.godot/editor/editor_layout.cfg
+++ b/.godot/editor/editor_layout.cfg
@@ -25,8 +25,8 @@ dock_5="Inspector,Node,History"
 
 [EditorNode]
 
-open_scenes=PackedStringArray("res://scenes/game.tscn", "res://scenes/explosion.tscn", "res://scenes/Pawn.tscn", "res://scenes/Rook.tscn", "res://scenes/Bishop.tscn", "res://scenes/Queen.tscn", "res://scenes/King.tscn", "res://scenes/Knight.tscn", "res://scenes/Assassin.tscn", "res://scenes/Mage.tscn")
-current_scene="res://scenes/Mage.tscn"
+open_scenes=PackedStringArray("res://scenes/game.tscn", "res://scenes/explosion.tscn", "res://scenes/Pawn.tscn", "res://scenes/Rook.tscn", "res://scenes/Bishop.tscn", "res://scenes/Queen.tscn", "res://scenes/King.tscn", "res://scenes/Knight.tscn", "res://scenes/Assassin.tscn", "res://scenes/Mage.tscn", "res://scenes/Wizard.tscn")
+current_scene="res://scenes/Wizard.tscn"
 center_split_offset=-255
 selected_default_debugger_tab_idx=0
 selected_main_editor_idx=2
@@ -34,8 +34,8 @@ selected_bottom_panel_item=0
 
 [ScriptEditor]
 
-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"]
-selected_script="res://scripts/Mage.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/Wizard.gd"
 open_help=[]
 script_split_offset=70
 list_split_offset=0
diff --git a/.godot/editor/filesystem_cache8 b/.godot/editor/filesystem_cache8
index f888296a3f35ba72eb80c3556e3ef8dfd95c8a6c..77cd5ccd26ce1e187aa31a46d22a9d2addc563d8 100644
--- a/.godot/editor/filesystem_cache8
+++ b/.godot/editor/filesystem_cache8
@@ -30,17 +30,17 @@ White_knight.png::CompressedTexture2D::854350289879594279::1738358720::173836019
 White_Pawn.png::CompressedTexture2D::919180529085242722::1738358720::1738360196::1::::<><>::
 White_Queen.png::CompressedTexture2D::4902137832695542513::1738358720::1738360196::1::::<><>::
 White_rook.png::CompressedTexture2D::4194129281780453908::1738358720::1738360196::1::::<><>::
-::res://assets/shaders/::1738366873
-bg.gdshader::Shader::-1::1738366873::0::1::::<><>::
-color.gdshader::Shader::-1::1738366873::0::1::::<><>::
-shadow.gdshader::Shader::-1::1738366873::0::1::::<><>::
+::res://assets/shaders/::1738373236
+bg.gdshader::Shader::-1::1738373236::0::1::::<><>::
+color.gdshader::Shader::-1::1738373236::0::1::::<><>::
+shadow.gdshader::Shader::-1::1738373236::0::1::::<><>::
 ::res://assets/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/::1738367404
+::res://assets/temp_assets/::1738373277
 assassin.png::CompressedTexture2D::2309680507621369322::1738360966::1738361001::1::::<><>::
 black_bishop.png::CompressedTexture2D::7509881182472568151::1738358720::1738360195::1::::<><>::
 black_king.png::CompressedTexture2D::3646032776351028361::1738358720::1738360195::1::::<><>::
@@ -59,23 +59,25 @@ white_knight.png::CompressedTexture2D::7533630084821562912::1738358720::17383601
 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/::1738366873
-Bishop.tscn::PackedScene::2789588702038144760::1738366872::0::1::::<><>::res://scripts/Bishop.gd<>uid://b68o4mj7wcwvq::::res://assets/sprites/bishop.png
+::res://scenes/::1738373236
+Bishop.tscn::PackedScene::2789588702038144760::1738373236::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::1738366872::0::1::::<><>::
-game.tscn::PackedScene::8577524005707705072::1738366872::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::1738366872::0::1::::<><>::res://scripts/King.gd<>uid://cdogixbq8ay3t::::res://assets/Resized Chess Piece Assets/White_king.png
-Knight.tscn::PackedScene::5270730075267457303::1738366873::0::1::::<><>::res://scripts/Knight.gd<>uid://mf4a3jclbwih::::res://assets/Resized Chess Piece Assets/White_knight.png
-Pawn.tscn::PackedScene::3675784333675896641::1738366872::0::1::::<><>::res://scripts/Pawn.gd<>uid://ndi1e8thkonq::::res://assets/Resized Chess Piece Assets/White_Pawn.png
-Queen.tscn::PackedScene::7495869360053814603::1738366872::0::1::::<><>::res://scripts/Queen.gd<>uid://cb3vq168iyomb::::res://assets/Resized Chess Piece Assets/White_Queen.png
-Assassin.tscn::PackedScene::1241611789899982875::1738366873::0::1::::<><>::res://scripts/Assassin.gd<>uid://753dogr1moxe::::res://assets/temp_assets/assassin.png
-Rook.tscn::PackedScene::9162401199636684468::1738366872::0::1::::<><>::uid://b00wxxfjk04ke::::res://assets/Resized Chess Piece Assets/White_rook.png
+explosion.tscn::PackedScene::69466253159940830::1738373235::0::1::::<><>::
+game.tscn::PackedScene::8577524005707705072::1738373235::0::1::::<><>::res://scripts/game.gd<>res://assets/shaders/bg.gdshader<>uid://yeqb8ndri7xp::::res://assets/noise/noise.tres<>uid://ceas3dsjeq4ge::::res://assets/noise/noise2.tres<>uid://m6ki73qfbp2s::::res://assets/noise/noise3.tres
+King.tscn::PackedScene::8277830396459966414::1738373236::0::1::::<><>::res://scripts/King.gd<>uid://cdogixbq8ay3t::::res://assets/Resized Chess Piece Assets/White_king.png
+Knight.tscn::PackedScene::5270730075267457303::1738373236::0::1::::<><>::res://scripts/Knight.gd<>uid://mf4a3jclbwih::::res://assets/Resized Chess Piece Assets/White_knight.png
+Pawn.tscn::PackedScene::3675784333675896641::1738373235::0::1::::<><>::res://scripts/Pawn.gd<>uid://ndi1e8thkonq::::res://assets/Resized Chess Piece Assets/White_Pawn.png
+Queen.tscn::PackedScene::7495869360053814603::1738373236::0::1::::<><>::res://scripts/Queen.gd<>uid://cb3vq168iyomb::::res://assets/Resized Chess Piece Assets/White_Queen.png
+Assassin.tscn::PackedScene::1241611789899982875::1738373236::0::1::::<><>::res://scripts/Assassin.gd<>uid://753dogr1moxe::::res://assets/temp_assets/assassin.png
+Mage.tscn::PackedScene::10334063134713649::1738373236::0::1::::<><>::res://scripts/Mage.gd<>uid://b7iyt4iwjbtd0::::res://assets/temp_assets/mage.png
+Rook.tscn::PackedScene::9162401199636684468::1738373236::0::1::::<><>::uid://b00wxxfjk04ke::::res://assets/Resized Chess Piece Assets/White_rook.png
 texture_holder.tscn::PackedScene::594714386286134588::1738358720::0::1::::<><>::
-::res://scripts/::1738367154
+::res://scripts/::1738373287
 Bishop.gd::GDScript::-1::1738358720::0::1::::Bishop<>Piece<>::
 King.gd::GDScript::-1::1738358720::0::1::::King<>Piece<>::
 Knight.gd::GDScript::-1::1738358802::0::1::::Knight<>Piece<>::
@@ -83,6 +85,7 @@ Pawn.gd::GDScript::-1::1738366967::0::1::::Pawn<>Piece<>::
 Piece.gd::GDScript::-1::1738358720::0::1::::Piece<>Node2D<>::
 Queen.gd::GDScript::-1::1738358720::0::1::::Queen<>Piece<>::
 Assassin.gd::GDScript::-1::1738361495::0::1::::Assassin<>Piece<>::
-game.gd::GDScript::-1::1738367020::0::1::::game<>Node<>::
-Mage.gd::GDScript::-1::1738367372::0::1::::Mage<>Piece<>::
+game.gd::GDScript::-1::1738373366::0::1::::game<>Node<>::
+Mage.gd::GDScript::-1::1738367776::0::1::::Mage<>Piece<>::
+Wizard.gd::GDScript::-1::1738373371::0::1::::Wizard<>Piece<>::
 Rook.gd::GDScript::-1::1738358720::0::1::::Rook<>Piece<>::
diff --git a/.godot/editor/filesystem_update4 b/.godot/editor/filesystem_update4
index 3c287f7f1a4d803b670590d89d3ab1d836c07228..bf3a86c0afe39eded870e268a2f29886bb98485c 100644
--- a/.godot/editor/filesystem_update4
+++ b/.godot/editor/filesystem_update4
@@ -20,3 +20,5 @@ res://scenes/Assassin.tscn
 res://scripts/Pawn.gd
 res://scripts/Mage.gd
 res://scenes/Mage.tscn
+res://scripts/Wizard.gd
+res://scenes/Wizard.tscn
diff --git a/.godot/editor/project_metadata.cfg b/.godot/editor/project_metadata.cfg
index 4a2c8f2c86aa4bbb8d38e8659973406b4c8cbfc8..8a2aae103a58be53b4f91cfddf40f6050d54a698 100644
--- a/.godot/editor/project_metadata.cfg
+++ b/.godot/editor/project_metadata.cfg
@@ -13,8 +13,8 @@ last_selected_language="GDScript"
 
 [recent_files]
 
-scripts=["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", "@GDScript"]
-scenes=["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", "res://scenes/game.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"]
 
 [color_picker]
 
diff --git a/.godot/editor/script_editor_cache.cfg b/.godot/editor/script_editor_cache.cfg
index a2b4d40911fe6617b9f8d8abbb9609459da0336c..7f1ec2292f2d67ac24cb441366286ae6a6f8998e 100644
--- a/.godot/editor/script_editor_cache.cfg
+++ b/.godot/editor/script_editor_cache.cfg
@@ -133,7 +133,21 @@ state={
 "folded_lines": Array[int]([]),
 "h_scroll_position": 0,
 "row": 113,
-"scroll_position": 95.0,
+"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/global_script_class_cache.cfg b/.godot/global_script_class_cache.cfg
index 96438af52e5ccdf407d2e3a3cf54b518b3961a06..6be5c73f1d40d1237fdca7360cc21222fff2da94 100644
--- a/.godot/global_script_class_cache.cfg
+++ b/.godot/global_script_class_cache.cfg
@@ -53,6 +53,12 @@ list=Array[Dictionary]([{
 "language": &"GDScript",
 "path": "res://scripts/Rook.gd"
 }, {
+"base": &"Piece",
+"class": &"Wizard",
+"icon": "",
+"language": &"GDScript",
+"path": "res://scripts/Wizard.gd"
+}, {
 "base": &"Node",
 "class": &"game",
 "icon": "",
diff --git a/.godot/uid_cache.bin b/.godot/uid_cache.bin
index 1e23be115ed807ce4e7131fd708687be54e0a201..cef72022d8beb1cfc7c8242615506193ffa2f3d2 100644
Binary files a/.godot/uid_cache.bin and b/.godot/uid_cache.bin differ
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/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/scripts/Wizard.gd b/scripts/Wizard.gd
new file mode 100644
index 0000000000000000000000000000000000000000..d71af2fc293598dcfbeb4cd83b967318d3dee4d3
--- /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 = get_tree().root.get_node("Game")
+
+func _init(is_white: bool, position: Vector2):
+	super._init(is_white, position)
+
+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.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 1b06578611d203dd2e492571436cfb118d78025f..460e5a70c51990a7f5d14a1d79d4935e97942b20 100644
--- a/scripts/game.gd
+++ b/scripts/game.gd
@@ -50,6 +50,7 @@ func _ready() -> void:
 	
 	#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))
@@ -144,6 +145,8 @@ func draw_pieces():
 					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()
@@ -394,7 +397,7 @@ func unselect_piece():
 func highlight_tiles():
 	# Clear the previously selected valid moves
 	remove_highlight()
-	if selected_piece_value is Mage:
+	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:
@@ -423,12 +426,12 @@ func move_selected_piece(x,y):
 		#can only move to tiles in valid_moves
 		if Vector2(x,y) in valid_moves:
 			
-			if selected_piece_value is Mage:
+			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:
-						unselect_piece()
+						shoot_projectile(x, y)
 				else:	
 					shoot_projectile(x, y)