diff --git a/Scenes/Player/UI/bat_button.tscn b/Scenes/Player/UI/bat_button.tscn index f360bfe..f8ee2e7 100644 --- a/Scenes/Player/UI/bat_button.tscn +++ b/Scenes/Player/UI/bat_button.tscn @@ -1,8 +1,10 @@ -[gd_scene load_steps=5 format=3 uid="uid://dl0d1m1gfcd4o"] +[gd_scene load_steps=7 format=3 uid="uid://dl0d1m1gfcd4o"] [ext_resource type="PackedScene" uid="uid://f7n8gd1wlv4v" path="res://Scenes/Player/UI/spawnable_button.tscn" id="1_tvnet"] [ext_resource type="PackedScene" uid="uid://brnx3xyyd0e71" path="res://Scenes/Spawnables/bat_spawnable.tscn" id="2_borla"] +[ext_resource type="ButtonGroup" uid="uid://gjbbywsr8n8b" path="res://Scenes/Player/UI/spawnables_button_group.tres" id="2_j7x6h"] [ext_resource type="Texture2D" uid="uid://ddvr5ltbo8ome" path="res://Assets/Bat/noBKG_BatFlight_strip.png" id="3_5io10"] +[ext_resource type="Theme" uid="uid://dr1h7to56a2pv" path="res://Themes/base_theme.tres" id="4_nd7nb"] [sub_resource type="AtlasTexture" id="AtlasTexture_if561"] resource_local_to_scene = true @@ -10,6 +12,7 @@ atlas = ExtResource("3_5io10") region = Rect2(64, 0, 64, 64) [node name="BatButton" instance=ExtResource("1_tvnet")] +button_group = ExtResource("2_j7x6h") spawnableScene = ExtResource("2_borla") [node name="AnimatedTextureRect" parent="." index="0"] @@ -18,5 +21,32 @@ texture = SubResource("AtlasTexture_if561") [node name="Label" parent="." index="2"] text = "Bat" +[node name="ToolTip" type="PanelContainer" parent="." index="3"] +visible = false +layout_mode = 1 +anchors_preset = 12 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -10.0 +offset_top = -91.0 +offset_right = -10.0 +offset_bottom = -55.0 +grow_horizontal = 2 +grow_vertical = 0 +mouse_filter = 2 +theme = ExtResource("4_nd7nb") +metadata/_edit_use_anchors_ = true + +[node name="ToolTipLabel" type="Label" parent="ToolTip" index="0"] +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 1 +text = "Attack : 100 +HP: 30 +" +horizontal_alignment = 1 +vertical_alignment = 2 + [connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"] [connection signal="mouse_exited" from="." to="." method="_on_mouse_exited"] diff --git a/Scenes/Player/UI/necromancer_button.tscn b/Scenes/Player/UI/necromancer_button.tscn new file mode 100644 index 0000000..6c0feb8 --- /dev/null +++ b/Scenes/Player/UI/necromancer_button.tscn @@ -0,0 +1,133 @@ +[gd_scene load_steps=10 format=3 uid="uid://d370efcvbuchm"] + +[ext_resource type="ButtonGroup" uid="uid://gjbbywsr8n8b" path="res://Scenes/Player/UI/spawnables_button_group.tres" id="2_ma8s0"] +[ext_resource type="PackedScene" uid="uid://bap3ds6o3m4i1" path="res://Scenes/Spawnables/necromancer_spawnable.tscn" id="2_tfd72"] +[ext_resource type="Script" path="res://Scenes/Player/UI/spawnable_button.gd" id="3_8gmw0"] +[ext_resource type="Theme" uid="uid://dr1h7to56a2pv" path="res://Themes/base_theme.tres" id="4_oe55x"] +[ext_resource type="Texture2D" uid="uid://ckeayob6k71b1" path="res://Assets/Witch/noBKG_WitchIdle_strip.png" id="5_g2gp2"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_ons44"] +atlas = ExtResource("5_g2gp2") +region = Rect2(0, 0, 64, 64) + +[sub_resource type="Animation" id="Animation_r6yl2"] +resource_name = "AnimateTextureRect" +length = 0.583341 +loop_mode = 1 +step = 0.0833333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedTextureRect:texture:region") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.0833333, 0.166667, 0.25, 0.333333, 0.416667, 0.5), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1), +"update": 1, +"values": [Rect2(0, 0, 64, 64), Rect2(64, 0, 64, 64), Rect2(128, 0, 64, 64), Rect2(192, 0, 64, 64), Rect2(256, 0, 64, 64), Rect2(320, 0, 64, 64), Rect2(384, 0, 64, 64)] +} + +[sub_resource type="Animation" id="Animation_tak1b"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedTextureRect:texture:region") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Rect2(0, 0, 64, 64)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_0o4ue"] +_data = { +"AnimateTextureRect": SubResource("Animation_r6yl2"), +"RESET": SubResource("Animation_tak1b") +} + +[node name="NecromancerButton" type="Button"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_right = -854.0 +offset_bottom = -499.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +focus_mode = 0 +mouse_default_cursor_shape = 2 +theme = ExtResource("4_oe55x") +toggle_mode = true +button_group = ExtResource("2_ma8s0") +script = ExtResource("3_8gmw0") +spawnableScene = ExtResource("2_tfd72") + +[node name="AnimatedTextureRect" type="TextureRect" parent="."] +layout_mode = 1 +anchors_preset = -1 +anchor_left = -1.78302 +anchor_top = -0.414634 +anchor_right = 2.78302 +anchor_bottom = 1.14634 +offset_left = 210.0 +offset_right = -210.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = SubResource("AtlasTexture_ons44") +stretch_mode = 5 +metadata/_edit_use_anchors_ = true + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +speed_scale = 0.6 +libraries = { +"": SubResource("AnimationLibrary_0o4ue") +} + +[node name="Label" type="Label" parent="."] +layout_mode = 1 +anchors_preset = 12 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = -18.0 +grow_horizontal = 2 +grow_vertical = 0 +theme = ExtResource("4_oe55x") +text = "Necromancer" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="ToolTip" type="PanelContainer" parent="."] +visible = false +layout_mode = 1 +anchors_preset = 12 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -10.0 +offset_top = -91.0 +offset_right = -10.0 +offset_bottom = -55.0 +grow_horizontal = 2 +grow_vertical = 0 +mouse_filter = 2 +theme = ExtResource("4_oe55x") +metadata/_edit_use_anchors_ = true + +[node name="ToolTipLabel" type="Label" parent="ToolTip"] +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 1 +text = "Attack : 100 +HP: 30 +" +horizontal_alignment = 1 +vertical_alignment = 2 + +[connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"] +[connection signal="mouse_exited" from="." to="." method="_on_mouse_exited"] diff --git a/Scenes/Player/UI/player_ui.tscn b/Scenes/Player/UI/player_ui.tscn index 92641f0..526f2b0 100644 --- a/Scenes/Player/UI/player_ui.tscn +++ b/Scenes/Player/UI/player_ui.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=14 format=3 uid="uid://dmvukn3rl6gbx"] +[gd_scene load_steps=16 format=3 uid="uid://dmvukn3rl6gbx"] [ext_resource type="Script" path="res://Scenes/Player/UI/player_ui.gd" id="1_4nwdk"] [ext_resource type="PackedScene" uid="uid://dl0d1m1gfcd4o" path="res://Scenes/Player/UI/bat_button.tscn" id="1_tnnk6"] @@ -9,6 +9,8 @@ [ext_resource type="Texture2D" uid="uid://djjqhipuo3byw" path="res://Assets/Knight/noBKG_KnightShield_strip.png" id="5_t0ay2"] [ext_resource type="Texture2D" uid="uid://iy5flm8rgj60" path="res://Assets/Inverted hourglass1.png" id="5_vr1sw"] [ext_resource type="Texture2D" uid="uid://p3scltkq3g87" path="res://Assets/16.png" id="6_id56p"] +[ext_resource type="PackedScene" uid="uid://5yfkysexanoh" path="res://Scenes/Player/UI/wolf_button.tscn" id="10_igs07"] +[ext_resource type="PackedScene" uid="uid://d370efcvbuchm" path="res://Scenes/Player/UI/necromancer_button.tscn" id="11_btls2"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_v6oad"] bg_color = Color(0.243137, 0.713726, 0.0627451, 0.301961) @@ -297,18 +299,14 @@ layout_mode = 2 size_flags_horizontal = 3 mouse_filter = 2 -[node name="SpawnableButton" parent="UIRoot/ControlPanel/ButtonPanel" instance=ExtResource("1_tnnk6")] +[node name="BatButton" parent="UIRoot/ControlPanel/ButtonPanel" instance=ExtResource("1_tnnk6")] layout_mode = 2 -button_group = ExtResource("3_7a133") -[node name="SpawnableButton2" parent="UIRoot/ControlPanel/ButtonPanel" instance=ExtResource("1_tnnk6")] +[node name="WolfButton" parent="UIRoot/ControlPanel/ButtonPanel" instance=ExtResource("10_igs07")] layout_mode = 2 -button_group = ExtResource("3_7a133") -[node name="SpawnableButton3" parent="UIRoot/ControlPanel/ButtonPanel" instance=ExtResource("1_tnnk6")] +[node name="NecromancerButton" parent="UIRoot/ControlPanel/ButtonPanel" instance=ExtResource("11_btls2")] layout_mode = 2 -button_group = ExtResource("3_7a133") [node name="SpawnableButton4" parent="UIRoot/ControlPanel/ButtonPanel" instance=ExtResource("1_tnnk6")] layout_mode = 2 -button_group = ExtResource("3_7a133") diff --git a/Scenes/Player/UI/spawnable_button.gd b/Scenes/Player/UI/spawnable_button.gd index e29fbc2..f913828 100644 --- a/Scenes/Player/UI/spawnable_button.gd +++ b/Scenes/Player/UI/spawnable_button.gd @@ -5,6 +5,8 @@ extends Button @onready var animationPlayer : AnimationPlayer = $AnimationPlayer @onready var label : Label = $Label +@onready var toolTip : Control = $ToolTip +@onready var toolTipLabel : Label = $ToolTip/ToolTipLabel func _ready(): if spawnableScene == null: @@ -12,12 +14,26 @@ func _ready(): var temp : TemplateSpawnable = spawnableScene.instantiate() label.text = str(temp.monsterName) + " (" + str(temp.cost) + ")" + generate_tooltip(temp) temp.queue_free() func _on_mouse_entered(): animationPlayer.play("AnimateTextureRect") - + toolTip.visible = true func _on_mouse_exited(): animationPlayer.stop() + toolTip.visible = false + +func generate_tooltip(monster : TemplateSpawnable): + var toolTipText = """-{monsterName}- + HP: {hp} + Mv. Spd: {spd} + Dmg: {dmg} + Atk Spd: {atkSpd} + Cost: {cost} + Blud Gen: {bludGen}/s + """ + + toolTipLabel.text = toolTipText.format({"monsterName" : monster.monsterName, "hp" : monster.maxHp, "spd" : monster.speed, "dmg" : monster.damage, "atkSpd" : monster.attackSpeed, "cost" : monster.cost, "bludGen" : monster.BludGen}) diff --git a/Scenes/Player/UI/wolf_button.tscn b/Scenes/Player/UI/wolf_button.tscn new file mode 100644 index 0000000..97c5808 --- /dev/null +++ b/Scenes/Player/UI/wolf_button.tscn @@ -0,0 +1,132 @@ +[gd_scene load_steps=10 format=3 uid="uid://5yfkysexanoh"] + +[ext_resource type="Theme" uid="uid://dr1h7to56a2pv" path="res://Themes/base_theme.tres" id="1_kk4l4"] +[ext_resource type="ButtonGroup" uid="uid://gjbbywsr8n8b" path="res://Scenes/Player/UI/spawnables_button_group.tres" id="2_auklo"] +[ext_resource type="Script" path="res://Scenes/Player/UI/spawnable_button.gd" id="2_okrsl"] +[ext_resource type="Texture2D" uid="uid://dd1cbeyvlpn53" path="res://Assets/Wolf/noBKG_WolfIdle_strip.png" id="3_fyifb"] +[ext_resource type="PackedScene" uid="uid://35re5c6wyhp5" path="res://Scenes/Spawnables/wolf_spawnable.tscn" id="3_t78cg"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_ys2lk"] +atlas = ExtResource("3_fyifb") +region = Rect2(0, 0, 64, 64) + +[sub_resource type="Animation" id="Animation_r6yl2"] +resource_name = "AnimateTextureRect" +length = 1.00001 +loop_mode = 1 +step = 0.0833333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedTextureRect:texture:region") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.0833333, 0.166667, 0.25, 0.333333, 0.416667, 0.5, 0.583333, 0.666667, 0.75, 0.833333, 0.916667), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), +"update": 1, +"values": [Rect2(0, 0, 64, 64), Rect2(64, 0, 64, 64), Rect2(128, 0, 64, 64), Rect2(192, 0, 64, 64), Rect2(256, 0, 64, 64), Rect2(320, 0, 64, 64), Rect2(384, 0, 64, 64), Rect2(448, 0, 64, 64), Rect2(512, 0, 64, 64), Rect2(576, 0, 64, 64), Rect2(640, 0, 64, 64), Rect2(704, 0, 64, 64)] +} + +[sub_resource type="Animation" id="Animation_tak1b"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedTextureRect:texture:region") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Rect2(0, 0, 64, 64)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_0o4ue"] +_data = { +"AnimateTextureRect": SubResource("Animation_r6yl2"), +"RESET": SubResource("Animation_tak1b") +} + +[node name="WolfButton" type="Button"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_right = -854.0 +offset_bottom = -499.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +focus_mode = 0 +mouse_default_cursor_shape = 2 +theme = ExtResource("1_kk4l4") +toggle_mode = true +button_group = ExtResource("2_auklo") +script = ExtResource("2_okrsl") +spawnableScene = ExtResource("3_t78cg") + +[node name="AnimatedTextureRect" type="TextureRect" parent="."] +layout_mode = 1 +anchors_preset = -1 +anchor_left = -1.78302 +anchor_top = -0.414634 +anchor_right = 2.78302 +anchor_bottom = 1.14634 +offset_left = 210.0 +offset_right = -210.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = SubResource("AtlasTexture_ys2lk") +stretch_mode = 5 +metadata/_edit_use_anchors_ = true + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_0o4ue") +} + +[node name="Label" type="Label" parent="."] +layout_mode = 1 +anchors_preset = 12 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = -18.0 +grow_horizontal = 2 +grow_vertical = 0 +theme = ExtResource("1_kk4l4") +text = "Wolf" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="ToolTip" type="PanelContainer" parent="."] +visible = false +layout_mode = 1 +anchors_preset = 12 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -10.0 +offset_top = -91.0 +offset_right = -10.0 +offset_bottom = -55.0 +grow_horizontal = 2 +grow_vertical = 0 +mouse_filter = 2 +theme = ExtResource("1_kk4l4") +metadata/_edit_use_anchors_ = true + +[node name="ToolTipLabel" type="Label" parent="ToolTip"] +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 1 +text = "Attack : 100 +HP: 30 +" +horizontal_alignment = 1 +vertical_alignment = 2 + +[connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"] +[connection signal="mouse_exited" from="." to="." method="_on_mouse_exited"] diff --git a/Scenes/Props/candle_1.tscn b/Scenes/Props/candle_1.tscn index 4c9e262..f65ba7e 100644 --- a/Scenes/Props/candle_1.tscn +++ b/Scenes/Props/candle_1.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=9 format=3 uid="uid://dgtscjxcqoxls"] +[gd_scene load_steps=9 format=3 uid="uid://cl7w6ndvons1a"] [ext_resource type="Texture2D" uid="uid://dvtntmnfw83ms" path="res://Assets/RF_Catacombs_v1.0/candleA_02.png" id="1_2uqmc"] [ext_resource type="Texture2D" uid="uid://biomqy201h4yk" path="res://Assets/RF_Catacombs_v1.0/candleA_03.png" id="2_dgnwu"] @@ -26,12 +26,12 @@ animations = [{ "speed": 8.0 }] -[sub_resource type="Gradient" id="Gradient_sm8o0"] +[sub_resource type="Gradient" id="Gradient_uxp8x"] offsets = PackedFloat32Array(0, 0.736573) colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1) [sub_resource type="GradientTexture2D" id="GradientTexture2D_mton1"] -gradient = SubResource("Gradient_sm8o0") +gradient = SubResource("Gradient_uxp8x") fill = 1 fill_from = Vector2(0.5, 0.5) diff --git a/Scenes/Spawnables/AIs/ai_necromancer.gd b/Scenes/Spawnables/AIs/ai_necromancer.gd new file mode 100644 index 0000000..7dcaf31 --- /dev/null +++ b/Scenes/Spawnables/AIs/ai_necromancer.gd @@ -0,0 +1,4 @@ +extends AITemplate + +func getDirection(_position, _enemyPosition) -> Vector2: + return -Vector2(_enemyPosition - _position).normalized() diff --git a/Scenes/Spawnables/necromancer_spawnable.tscn b/Scenes/Spawnables/necromancer_spawnable.tscn new file mode 100644 index 0000000..2209578 --- /dev/null +++ b/Scenes/Spawnables/necromancer_spawnable.tscn @@ -0,0 +1,282 @@ +[gd_scene load_steps=41 format=3 uid="uid://bap3ds6o3m4i1"] + +[ext_resource type="PackedScene" uid="uid://kkfxguj0lr5a" path="res://Scenes/Spawnables/template_spawnable.tscn" id="1_scjiu"] +[ext_resource type="Texture2D" uid="uid://ckeayob6k71b1" path="res://Assets/Witch/noBKG_WitchIdle_strip.png" id="2_ryiw4"] +[ext_resource type="Texture2D" uid="uid://bjwphtahu0exa" path="res://Assets/Witch/noBKG_WitchDeath_strip.png" id="3_1dyhi"] +[ext_resource type="Texture2D" uid="uid://cy1gf04evv1ds" path="res://Assets/Witch/noBKG_WitchWalk_strip.png" id="4_5ypov"] +[ext_resource type="Script" path="res://Scenes/Spawnables/AIs/ai_necromancer.gd" id="5_325bs"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_ac0gw"] +atlas = ExtResource("2_ryiw4") +region = Rect2(0, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2n56f"] +atlas = ExtResource("2_ryiw4") +region = Rect2(0, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gnyfa"] +atlas = ExtResource("2_ryiw4") +region = Rect2(64, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_x05ml"] +atlas = ExtResource("2_ryiw4") +region = Rect2(128, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_th587"] +atlas = ExtResource("2_ryiw4") +region = Rect2(192, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tvqm8"] +atlas = ExtResource("2_ryiw4") +region = Rect2(256, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_j7bm4"] +atlas = ExtResource("2_ryiw4") +region = Rect2(320, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bgty6"] +atlas = ExtResource("2_ryiw4") +region = Rect2(384, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_263bi"] +atlas = ExtResource("3_1dyhi") +region = Rect2(0, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_iiwir"] +atlas = ExtResource("3_1dyhi") +region = Rect2(64, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0j4nm"] +atlas = ExtResource("3_1dyhi") +region = Rect2(128, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_w4sel"] +atlas = ExtResource("3_1dyhi") +region = Rect2(192, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_16ck5"] +atlas = ExtResource("3_1dyhi") +region = Rect2(256, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_76h0a"] +atlas = ExtResource("3_1dyhi") +region = Rect2(320, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ufgko"] +atlas = ExtResource("3_1dyhi") +region = Rect2(384, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_okrdd"] +atlas = ExtResource("3_1dyhi") +region = Rect2(448, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_v4skn"] +atlas = ExtResource("3_1dyhi") +region = Rect2(512, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0lup5"] +atlas = ExtResource("3_1dyhi") +region = Rect2(576, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_buqnh"] +atlas = ExtResource("3_1dyhi") +region = Rect2(640, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_67t86"] +atlas = ExtResource("3_1dyhi") +region = Rect2(704, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_i7vxc"] +atlas = ExtResource("4_5ypov") +region = Rect2(0, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_g7g6u"] +atlas = ExtResource("4_5ypov") +region = Rect2(64, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kccoy"] +atlas = ExtResource("4_5ypov") +region = Rect2(128, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_orxro"] +atlas = ExtResource("4_5ypov") +region = Rect2(192, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bqibq"] +atlas = ExtResource("4_5ypov") +region = Rect2(256, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kmqev"] +atlas = ExtResource("4_5ypov") +region = Rect2(320, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ptgm7"] +atlas = ExtResource("4_5ypov") +region = Rect2(384, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_caady"] +atlas = ExtResource("4_5ypov") +region = Rect2(448, 0, 64, 64) + +[sub_resource type="SpriteFrames" id="SpriteFrames_adqcd"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_2n56f") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gnyfa") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_x05ml") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_th587") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tvqm8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_j7bm4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bgty6") +}], +"loop": false, +"name": &"attack", +"speed": 12.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_263bi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_iiwir") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0j4nm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_w4sel") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_16ck5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_76h0a") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ufgko") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_okrdd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_v4skn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0lup5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_buqnh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_67t86") +}], +"loop": false, +"name": &"death", +"speed": 12.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_i7vxc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_g7g6u") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kccoy") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_orxro") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bqibq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kmqev") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ptgm7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_caady") +}], +"loop": true, +"name": &"default", +"speed": 12.0 +}] + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_n2o72"] +radius = 6.0 + +[sub_resource type="CircleShape2D" id="CircleShape2D_8t26j"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_we6t8"] + +[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_apenn"] +polygon = PackedVector2Array(0, -18, -6, -10, -7, -2, -6, 6, -2, 12, 2, 9, 6, 3, 6, -5, 4, -15) + +[sub_resource type="Gradient" id="Gradient_sm8o0"] +offsets = PackedFloat32Array(0, 0.736573) +colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_tqkl0"] +gradient = SubResource("Gradient_sm8o0") +fill = 1 +fill_from = Vector2(0.5, 0.5) + +[node name="NecromancerSpawnable" instance=ExtResource("1_scjiu")] +maxHp = 20 +speed = 2000.0 +priority = 10 +expReward = 150 +BludGen = 5.0 +cost = 100 +canAttack = false +monsterName = "Necromancer" +monsterIcon = SubResource("AtlasTexture_ac0gw") + +[node name="AnimatedSprite2D" parent="." index="1"] +sprite_frames = SubResource("SpriteFrames_adqcd") +animation = &"default" +frame = 0 +frame_progress = 0.0 + +[node name="BodyCollision" parent="." index="2"] +position = Vector2(0, -2) +rotation = 0.0 +shape = SubResource("CapsuleShape2D_n2o72") + +[node name="AttackCollision" parent="AttackArea" index="0"] +shape = SubResource("CircleShape2D_8t26j") + +[node name="DamageCollision" parent="DamageArea" index="0"] +shape = SubResource("CircleShape2D_we6t8") + +[node name="AI" parent="." index="5"] +script = ExtResource("5_325bs") + +[node name="LightOccluder2D" parent="." index="7"] +occluder = SubResource("OccluderPolygon2D_apenn") + +[node name="PointLight2D" type="PointLight2D" parent="." index="8"] +position = Vector2(0, -13) +color = Color(0.929412, 0, 0.184314, 1) +energy = 0.75 +shadow_enabled = true +shadow_filter = 2 +shadow_filter_smooth = 20.5 +shadow_item_cull_mask = 2 +texture = SubResource("GradientTexture2D_tqkl0") +texture_scale = 1.5 diff --git a/Scenes/Spawnables/wolf_spawnable.tscn b/Scenes/Spawnables/wolf_spawnable.tscn index 280d9bb..874a305 100644 --- a/Scenes/Spawnables/wolf_spawnable.tscn +++ b/Scenes/Spawnables/wolf_spawnable.tscn @@ -8,6 +8,8 @@ [ext_resource type="AudioStream" uid="uid://j1fxgwc22xsk" path="res://Assets/Audio/Wolves/mixkit-hellhound-monster-attack-dog-wolf-creature-3015.wav" id="6_1imso"] [ext_resource type="AudioStream" uid="uid://cvu0rfyj8amhi" path="res://Assets/Audio/Wolves/mixkit-werewolf-roar-1730.mp3" id="7_brppl"] [ext_resource type="AudioStream" uid="uid://beuuur3tlsjrp" path="res://Assets/Audio/Wolves/mixkit-wolves-pack-howling-1776.wav" id="8_k62ik"] +[ext_resource type="Script" path="res://Scenes/Spawnables/AIs/ai_bat.gd" id="6_g2ost"] + [sub_resource type="AtlasTexture" id="AtlasTexture_n1jpo"] atlas = ExtResource("2_bk8d7") @@ -357,6 +359,7 @@ offset_bottom = 2.0 sprite_frames = SubResource("SpriteFrames_iknep") animation = &"default" frame = 0 + frame_progress = 0.996176 [node name="BodyCollision" parent="." index="2"] @@ -370,6 +373,9 @@ shape = SubResource("CapsuleShape2D_sx05l") position = Vector2(14, 1) shape = SubResource("CapsuleShape2D_dmcm0") +[node name="AI" parent="." index="5"] +script = ExtResource("6_g2ost") + [node name="LightOccluder2D" parent="." index="7"] position = Vector2(3, 0) occluder = SubResource("OccluderPolygon2D_jmta4") diff --git a/Themes/base_theme.tres b/Themes/base_theme.tres index a40d3eb..f2e435a 100644 --- a/Themes/base_theme.tres +++ b/Themes/base_theme.tres @@ -10,5 +10,6 @@ bg_color = Color(0.803922, 0.152941, 0.188235, 1) [resource] Label/fonts/font = ExtResource("1_i16b1") +PanelContainer/styles/panel = null ProgressBar/styles/background = SubResource("StyleBoxFlat_hf10d") ProgressBar/styles/fill = SubResource("StyleBoxFlat_jy7e3")