Added enemies

This commit is contained in:
2025-11-10 21:35:35 +03:00
parent 22aaeab0aa
commit 8bfe441226
22 changed files with 221 additions and 41 deletions
@@ -0,0 +1,8 @@
class_name AbstractEnemyShip
extends AbstractShip
func _ready() -> void:
super._ready()
for weapon in _weapons:
weapon.belonging = AbstractWeapon.Belonging.ENEMY
@@ -0,0 +1 @@
uid://byicf1t0807pq
@@ -0,0 +1,18 @@
[gd_scene load_steps=4 format=3 uid="uid://dwsn0lf1e3578"]
[ext_resource type="PackedScene" uid="uid://jvyagshykmgb" path="res://game/entities/ships/abstract_ship.tscn" id="1_28j6l"]
[ext_resource type="Script" uid="uid://byicf1t0807pq" path="res://game/entities/ships/enemies/abstract_enemy_ship.gd" id="2_fwvrd"]
[ext_resource type="Script" uid="uid://bs8qqj6yepfln" path="res://game/controllers/enemy_controller.gd" id="3_vfnhw"]
[node name="AbstractEnemyShip" instance=ExtResource("1_28j6l")]
collision_layer = 4
collision_mask = 0
script = ExtResource("2_fwvrd")
[node name="EnemyController" type="Node" parent="." index="3"]
script = ExtResource("3_vfnhw")
metadata/_custom_type_script = "uid://bs8qqj6yepfln"
[connection signal="accelerate" from="EnemyController" to="." method="accelerate"]
[connection signal="reload" from="EnemyController" to="." method="reload"]
[connection signal="shoot" from="EnemyController" to="." method="shoot"]
@@ -0,0 +1,2 @@
class_name HeavyEnemyShip
extends AbstractEnemyShip
@@ -0,0 +1 @@
uid://cxomr1oojcrcl
@@ -0,0 +1,32 @@
[gd_scene load_steps=5 format=3 uid="uid://d3epy8w15qmjm"]
[ext_resource type="PackedScene" uid="uid://dwsn0lf1e3578" path="res://game/entities/ships/enemies/abstract_enemy_ship.tscn" id="1_wvvpj"]
[ext_resource type="Script" uid="uid://cxomr1oojcrcl" path="res://game/entities/ships/enemies/heavy/heavy_enemy_ship.gd" id="2_3umer"]
[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_cuapu"]
size = Vector2(64, 48)
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_cuapu"]
radius = 23.0
height = 62.0
[node name="HeavyEnemyShip" instance=ExtResource("1_wvvpj")]
script = ExtResource("2_3umer")
acceleration = 30
deceleration = 18
max_speed = 60
weapon_positions = Array[Vector2]([Vector2(0, 12), Vector2(0, 0), Vector2(0, -12)])
[node name="Sprite2D" parent="." index="0"]
texture = SubResource("PlaceholderTexture2D_cuapu")
[node name="CollisionShape2D" parent="." index="1"]
rotation = 1.5707964
shape = SubResource("CapsuleShape2D_cuapu")
[node name="Health" parent="." index="2"]
max_hull = 200
[connection signal="accelerate" from="EnemyController" to="." method="accelerate"]
[connection signal="reload" from="EnemyController" to="." method="reload"]
[connection signal="shoot" from="EnemyController" to="." method="shoot"]
@@ -0,0 +1,2 @@
class_name MediumEnemyShip
extends AbstractEnemyShip
@@ -0,0 +1 @@
uid://dcpqrdvp4nk82
@@ -0,0 +1,31 @@
[gd_scene load_steps=5 format=3 uid="uid://cye5ndbh0ht7w"]
[ext_resource type="PackedScene" uid="uid://dwsn0lf1e3578" path="res://game/entities/ships/enemies/abstract_enemy_ship.tscn" id="1_16owb"]
[ext_resource type="Script" uid="uid://dcpqrdvp4nk82" path="res://game/entities/ships/enemies/medium/medium_enemy_ship.gd" id="2_dgwiy"]
[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_4jmkv"]
size = Vector2(32, 48)
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_4jmkv"]
radius = 15.0
height = 46.0
[node name="MediumEnemyShip" instance=ExtResource("1_16owb")]
script = ExtResource("2_dgwiy")
acceleration = 92
deceleration = 46
max_speed = 92
weapon_positions = Array[Vector2]([Vector2(0, 10), Vector2(0, -10)])
[node name="Sprite2D" parent="." index="0"]
texture = SubResource("PlaceholderTexture2D_4jmkv")
[node name="CollisionShape2D" parent="." index="1"]
shape = SubResource("CapsuleShape2D_4jmkv")
[node name="Health" parent="." index="2"]
max_hull = 100
[connection signal="accelerate" from="EnemyController" to="." method="accelerate"]
[connection signal="reload" from="EnemyController" to="." method="reload"]
[connection signal="shoot" from="EnemyController" to="." method="shoot"]
@@ -0,0 +1,2 @@
class_name SmallEnemyShip
extends AbstractEnemyShip
@@ -0,0 +1 @@
uid://btcce3nflycrs
@@ -0,0 +1,31 @@
[gd_scene load_steps=5 format=3 uid="uid://cbf3kumeoqpba"]
[ext_resource type="PackedScene" uid="uid://dwsn0lf1e3578" path="res://game/entities/ships/enemies/abstract_enemy_ship.tscn" id="1_lt1av"]
[ext_resource type="Script" uid="uid://btcce3nflycrs" path="res://game/entities/ships/enemies/small/small_enemy_ship.gd" id="2_bw04d"]
[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_bw04d"]
size = Vector2(32, 16)
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_lopve"]
radius = 7.0
[node name="SmallEnemyShip" instance=ExtResource("1_lt1av")]
script = ExtResource("2_bw04d")
acceleration = 180
deceleration = 80
max_speed = 120
weapon_positions = Array[Vector2]([Vector2(0, 0)])
[node name="Sprite2D" parent="." index="0"]
texture = SubResource("PlaceholderTexture2D_bw04d")
[node name="CollisionShape2D" parent="." index="1"]
rotation = 1.5707964
shape = SubResource("CapsuleShape2D_lopve")
[node name="Health" parent="." index="2"]
max_hull = 50
[connection signal="accelerate" from="EnemyController" to="." method="accelerate"]
[connection signal="reload" from="EnemyController" to="." method="reload"]
[connection signal="shoot" from="EnemyController" to="." method="shoot"]