Implemented state machine & added NPC ship template
This commit is contained in:
parent
2d4eb92751
commit
bda9232e72
15 changed files with 284 additions and 22 deletions
16
scenes/Ships/Modules/Hulls/kamikaze_hull.tscn
Normal file
16
scenes/Ships/Modules/Hulls/kamikaze_hull.tscn
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://bkd4gyhlota7l"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bsu4eqwdfewwi" path="res://scenes/Ships/Modules/Hulls/hull.tscn" id="1_l56rl"]
|
||||
[ext_resource type="Texture2D" uid="uid://bchkncbniclhh" path="res://sprites/kamikaze.png" id="2_8ba3c"]
|
||||
|
||||
[node name="Hull" instance=ExtResource("1_l56rl")]
|
||||
max_hp = 10.0
|
||||
velocity_collision_treshold = 150.0
|
||||
collision_damage = 10.0
|
||||
|
||||
[node name="Sprite" parent="." index="0"]
|
||||
position = Vector2(0.5, 0.5)
|
||||
texture = ExtResource("2_8ba3c")
|
||||
|
||||
[node name="Collision" parent="." index="1"]
|
||||
polygon = PackedVector2Array(-69.5, 21, -69.5, 66, -68.5, 66, -57.5, 55, -57.5, 65, -56.5, 65, 70.5, 1, 70.5, 0, -56.5, -64, -57.5, -64, -57.5, -54, -68.5, -65, -69.5, -65, -69.5, -20, -68.5, -20, -57.5, -31, -57.5, -23, -32.5, -10, -32.5, 11, -57.5, 24, -57.5, 32, -68.5, 21)
|
||||
35
scenes/Ships/NPC Ships/kamikaze_ship.tscn
Normal file
35
scenes/Ships/NPC Ships/kamikaze_ship.tscn
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
[gd_scene load_steps=7 format=3 uid="uid://pev6k21vqaem"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/Ship/ship.gd" id="1_82bba"]
|
||||
[ext_resource type="PackedScene" uid="uid://bkd4gyhlota7l" path="res://scenes/Ships/Modules/Hulls/kamikaze_hull.tscn" id="2_165nu"]
|
||||
[ext_resource type="PackedScene" uid="uid://mw4kwxoeqch3" path="res://scenes/Ships/Modules/Engines/engine.tscn" id="3_plu72"]
|
||||
[ext_resource type="PackedScene" uid="uid://bunboi5ouscw8" path="res://scenes/Ships/Modules/Shields/shield.tscn" id="4_aos8x"]
|
||||
[ext_resource type="Script" path="res://scripts/State Machine/tree.gd" id="5_m8m3f"]
|
||||
[ext_resource type="Script" path="res://scripts/State Machine/Kamikaze/WanderingState.gd" id="6_emcj1"]
|
||||
|
||||
[node name="KamikazeShip" type="Node2D"]
|
||||
script = ExtResource("1_82bba")
|
||||
|
||||
[node name="HullHolder" type="Node" parent="."]
|
||||
|
||||
[node name="Hull" parent="HullHolder" instance=ExtResource("2_165nu")]
|
||||
collision_damage = 15.0
|
||||
|
||||
[node name="Engine" parent="." instance=ExtResource("3_plu72")]
|
||||
|
||||
[node name="Shield" parent="." instance=ExtResource("4_aos8x")]
|
||||
max_capacity = 5
|
||||
|
||||
[node name="Weapons" type="Node2D" parent="."]
|
||||
|
||||
[node name="StateTree" type="Node" parent="." node_paths=PackedStringArray("state")]
|
||||
script = ExtResource("5_m8m3f")
|
||||
state = NodePath("WanderingState")
|
||||
|
||||
[node name="WanderingState" type="Node" parent="StateTree"]
|
||||
script = ExtResource("6_emcj1")
|
||||
|
||||
[node name="UpdateDestination" type="Timer" parent="StateTree/WanderingState"]
|
||||
wait_time = 10.0
|
||||
|
||||
[connection signal="timeout" from="StateTree/WanderingState/UpdateDestination" to="StateTree/WanderingState" method="update_destination"]
|
||||
|
|
@ -1,10 +1,13 @@
|
|||
[gd_scene load_steps=11 format=3 uid="uid://dok3i8u5t1ka4"]
|
||||
[gd_scene load_steps=14 format=3 uid="uid://dok3i8u5t1ka4"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bjkshql8ut6hk" path="res://scenes/Ships/ship.tscn" id="1_6x7bu"]
|
||||
[ext_resource type="Script" path="res://scripts/Ship/player_ship.gd" id="2_oqdd7"]
|
||||
[ext_resource type="Script" path="res://scripts/Ship/player_input_controller.gd" id="3_0e84a"]
|
||||
[ext_resource type="PackedScene" uid="uid://bsu4eqwdfewwi" path="res://scenes/Ships/Modules/Hulls/hull.tscn" id="3_ku5af"]
|
||||
[ext_resource type="PackedScene" uid="uid://ryy1tdrxmjav" path="res://scenes/Ships/Modules/Weapons/weapon.tscn" id="4_fy1be"]
|
||||
[ext_resource type="PackedScene" uid="uid://mw4kwxoeqch3" path="res://scenes/Ships/Modules/Engines/engine.tscn" id="4_pmbbn"]
|
||||
[ext_resource type="PackedScene" uid="uid://bunboi5ouscw8" path="res://scenes/Ships/Modules/Shields/shield.tscn" id="5_7fjpq"]
|
||||
[ext_resource type="Script" path="res://scripts/Ship/player_camera.gd" id="5_rclap"]
|
||||
[ext_resource type="Script" path="res://scripts/Ship/weapons.gd" id="6_f6fm2"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_ry4sc"]
|
||||
resource_name = "money_counter"
|
||||
|
|
@ -77,20 +80,35 @@ func _process(_delta):
|
|||
text = unformatted_text.format(format)
|
||||
"
|
||||
|
||||
[node name="PlayerShip" instance=ExtResource("1_6x7bu")]
|
||||
[node name="PlayerShip" type="Node2D"]
|
||||
process_mode = 1
|
||||
script = ExtResource("2_oqdd7")
|
||||
|
||||
[node name="InputController" type="Node2D" parent="." index="0"]
|
||||
[node name="InputController" type="Node2D" parent="."]
|
||||
script = ExtResource("3_0e84a")
|
||||
|
||||
[node name="Weapon" parent="Weapons" index="0" instance=ExtResource("4_fy1be")]
|
||||
[node name="HullHolder" type="Node" parent="."]
|
||||
|
||||
[node name="Hull" parent="HullHolder" instance=ExtResource("3_ku5af")]
|
||||
collision_mask = 3
|
||||
max_contacts_reported = 1
|
||||
contact_monitor = true
|
||||
|
||||
[node name="Engine" parent="." instance=ExtResource("4_pmbbn")]
|
||||
|
||||
[node name="Shield" parent="." instance=ExtResource("5_7fjpq")]
|
||||
|
||||
[node name="Weapons" type="Node2D" parent="."]
|
||||
script = ExtResource("6_f6fm2")
|
||||
|
||||
[node name="Weapon" parent="Weapons" instance=ExtResource("4_fy1be")]
|
||||
action_id = "primary"
|
||||
ammo_type = "Laser Energy"
|
||||
ammo_consumption = 1.0
|
||||
|
||||
[node name="ColorableGUI" type="CanvasLayer" parent="." index="5"]
|
||||
[node name="ColorableGUI" type="CanvasLayer" parent="."]
|
||||
|
||||
[node name="Money" type="Label" parent="ColorableGUI" index="0"]
|
||||
[node name="Money" type="Label" parent="ColorableGUI"]
|
||||
offset_left = 7.0
|
||||
offset_top = 611.0
|
||||
offset_right = 92.0
|
||||
|
|
@ -98,7 +116,7 @@ offset_bottom = 634.0
|
|||
text = "Money: %d"
|
||||
script = SubResource("GDScript_ry4sc")
|
||||
|
||||
[node name="Velocity" type="Label" parent="ColorableGUI" index="1"]
|
||||
[node name="Velocity" type="Label" parent="ColorableGUI"]
|
||||
offset_left = 7.0
|
||||
offset_top = 688.0
|
||||
offset_right = 137.0
|
||||
|
|
@ -106,7 +124,7 @@ offset_bottom = 711.0
|
|||
text = "Velocity: %d px/s"
|
||||
script = SubResource("GDScript_vko7a")
|
||||
|
||||
[node name="Health" type="Label" parent="ColorableGUI" index="2"]
|
||||
[node name="Health" type="Label" parent="ColorableGUI"]
|
||||
offset_left = 7.0
|
||||
offset_top = 663.0
|
||||
offset_right = 168.0
|
||||
|
|
@ -114,7 +132,7 @@ offset_bottom = 686.0
|
|||
text = "Health: {0} / {1} units"
|
||||
script = SubResource("GDScript_uoaip")
|
||||
|
||||
[node name="Shield" type="Label" parent="ColorableGUI" index="3"]
|
||||
[node name="Shield" type="Label" parent="ColorableGUI"]
|
||||
offset_left = 8.0
|
||||
offset_top = 638.0
|
||||
offset_right = 164.0
|
||||
|
|
@ -122,7 +140,7 @@ offset_bottom = 661.0
|
|||
text = "Shield: {0} / {1} units"
|
||||
script = SubResource("GDScript_q1sx2")
|
||||
|
||||
[node name="Ammunition" type="Label" parent="ColorableGUI" index="4"]
|
||||
[node name="Ammunition" type="Label" parent="ColorableGUI"]
|
||||
offset_left = 1060.0
|
||||
offset_top = 638.0
|
||||
offset_right = 1273.0
|
||||
|
|
@ -133,8 +151,8 @@ Rockets: {2} / {3}"
|
|||
horizontal_alignment = 2
|
||||
script = SubResource("GDScript_rrgab")
|
||||
|
||||
[node name="NonColorableGUI" type="CanvasLayer" parent="." index="6"]
|
||||
[node name="NonColorableGUI" type="CanvasLayer" parent="."]
|
||||
|
||||
[node name="Camera" type="Camera2D" parent="." index="7"]
|
||||
[node name="Camera" type="Camera2D" parent="."]
|
||||
zoom = Vector2(0.5, 0.5)
|
||||
script = ExtResource("5_rclap")
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://crneq2enhxsw5"]
|
||||
[gd_scene load_steps=5 format=3 uid="uid://crneq2enhxsw5"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bsnrcw64qr2hr" path="res://scenes/Star Systems/star_system_template.tscn" id="1_2ai1l"]
|
||||
[ext_resource type="PackedScene" uid="uid://dk3nvl8f0v24e" path="res://scenes/base_template.tscn" id="3_m5ica"]
|
||||
[ext_resource type="PackedScene" uid="uid://pev6k21vqaem" path="res://scenes/Ships/NPC Ships/kamikaze_ship.tscn" id="4_i6rbg"]
|
||||
[ext_resource type="PackedScene" uid="uid://dok3i8u5t1ka4" path="res://scenes/Ships/player_ship.tscn" id="7_jyplv"]
|
||||
|
||||
[node name="StarSystem" instance=ExtResource("1_2ai1l")]
|
||||
|
|
@ -12,13 +13,16 @@ height = 16384
|
|||
scroll_offset = Vector2(681.667, 317.783)
|
||||
stars_amount = 4000
|
||||
|
||||
[node name="PlayerShip" parent="." index="3" instance=ExtResource("7_jyplv")]
|
||||
[node name="Nebula" parent="Background" index="0" node_paths=PackedStringArray("tracked_node")]
|
||||
tracked_node = NodePath("../../FactionPlayer/PlayerShip")
|
||||
color_background = Color(0.276474, 0.0962249, 0.200656, 1)
|
||||
|
||||
[node name="PlayerShip" parent="FactionPlayer" index="0" instance=ExtResource("7_jyplv")]
|
||||
process_mode = 0
|
||||
position = Vector2(19, 10)
|
||||
|
||||
[node name="Base" parent="." index="4" instance=ExtResource("3_m5ica")]
|
||||
[node name="Base" parent="FactionPeaceful" index="0" instance=ExtResource("3_m5ica")]
|
||||
position = Vector2(7171, -28)
|
||||
|
||||
[node name="Nebula" parent="Background" index="0" node_paths=PackedStringArray("tracked_node")]
|
||||
tracked_node = NodePath("../../PlayerShip")
|
||||
color_background = Color(0.276474, 0.0962249, 0.200656, 1)
|
||||
[node name="KamikazeShip" parent="FactionAggressive" index="0" instance=ExtResource("4_i6rbg")]
|
||||
position = Vector2(687, -302)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=8 format=3 uid="uid://bsnrcw64qr2hr"]
|
||||
[gd_scene load_steps=9 format=3 uid="uid://bsnrcw64qr2hr"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/star_system.gd" id="1_xx8w2"]
|
||||
[ext_resource type="PackedScene" uid="uid://dpggye27ln436" path="res://scenes/Star Systems/Required Scenes/star_generator.tscn" id="2_iqrn0"]
|
||||
|
|
@ -6,6 +6,7 @@
|
|||
[ext_resource type="Material" uid="uid://bawhivm5cr2w" path="res://shaders/materials/nebula_shader.tres" id="4_o0ld7"]
|
||||
[ext_resource type="Script" path="res://scripts/nebula.gd" id="5_la84n"]
|
||||
[ext_resource type="PackedScene" uid="uid://c7is7y341f6wa" path="res://scenes/Star Systems/Required Scenes/pause_controller.tscn" id="6_61vq5"]
|
||||
[ext_resource type="Script" path="res://scripts/faction.gd" id="7_wm3vi"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_4yoh5"]
|
||||
resource_name = "version_label"
|
||||
|
|
@ -57,3 +58,19 @@ grow_horizontal = 2
|
|||
grow_vertical = 2
|
||||
script = ExtResource("5_la84n")
|
||||
color_background = Color(0.36, 0.18612, 0.1116, 1)
|
||||
|
||||
[node name="FactionPlayer" type="Node" parent="."]
|
||||
script = ExtResource("7_wm3vi")
|
||||
faction = 1
|
||||
|
||||
[node name="FactionPeaceful" type="Node" parent="."]
|
||||
script = ExtResource("7_wm3vi")
|
||||
faction = 2
|
||||
|
||||
[node name="FactionNeutral" type="Node" parent="."]
|
||||
script = ExtResource("7_wm3vi")
|
||||
faction = 3
|
||||
|
||||
[node name="FactionAggressive" type="Node" parent="."]
|
||||
script = ExtResource("7_wm3vi")
|
||||
faction = 4
|
||||
|
|
|
|||
|
|
@ -43,8 +43,9 @@ animations = [{
|
|||
}]
|
||||
|
||||
[node name="Star" type="AnimatedSprite2D"]
|
||||
self_modulate = Color(1, 1, 1, 0.501961)
|
||||
z_index = -19
|
||||
sprite_frames = SubResource("SpriteFrames_oggfj")
|
||||
autoplay = "default"
|
||||
frame = 1
|
||||
frame_progress = 0.66336
|
||||
script = ExtResource("9_kew3k")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue