Reworked weapons and projectiles

This commit is contained in:
2025-12-20 18:35:27 +03:00
parent 2ecc53416a
commit 8227e8bcf3
312 changed files with 2466 additions and 1376 deletions
@@ -18,11 +18,6 @@ func _physics_process(delta: float) -> void:
shoot()
func _add_weapon(weapon: AbstractWeapon, weapon_position: Vector2) -> void:
super._add_weapon(weapon, weapon_position)
weapon.set_belonging(AbstractWeapon.Belonging.ENEMY)
func _on_visible_on_screen_notifier_2d_screen_entered() -> void:
is_on_screen = true
@@ -42,12 +37,6 @@ func _set_enemy_data(data: EnemyData) -> void:
positions.remove_at(0)
for i in range(min(enemy_data.weapon_count, positions.size())):
var weapon : AbstractWeapon = enemy_data.weapon.scene.instantiate()
_add_weapon(weapon, weapon_positions[i])
func _create_weapon(weapon_id : String) -> AbstractWeapon:
var weapon_scene : PackedScene = load(WEAPON_SCENES[weapon_id])
var weapon : AbstractWeapon = weapon_scene.instantiate()
weapon_type = weapon.type
return weapon
var weapon_scene := enemy_data.weapon.enemy_scene
var weapon : AbstractWeapon = weapon_scene.instantiate()
_add_weapon(weapon, positions[i])
@@ -1,4 +1,4 @@
[gd_scene load_steps=6 format=3 uid="uid://dwsn0lf1e3578"]
[gd_scene load_steps=7 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"]
@@ -12,15 +12,24 @@ shader_parameter/speed = 0.0
shader_parameter/scale = 20.0
shader_parameter/intensity = 1.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_l8c0n"]
resource_local_to_scene = true
shader = ExtResource("3_6nnf4")
shader_parameter/speed = 5.0
shader_parameter/scale = 20.0
shader_parameter/intensity = 1.0
[node name="AbstractEnemyShip" groups=["enemies"] instance=ExtResource("1_28j6l")]
collision_layer = 4
collision_mask = 6
script = ExtResource("2_fwvrd")
weapon_rotation = 180
[node name="ArmorSprite" parent="." index="1"]
material = SubResource("ShaderMaterial_dlmr1")
[node name="ShieldSprite" parent="." index="2"]
material = SubResource("ShaderMaterial_l8c0n")
[node name="EnemyController" parent="." index="4" node_paths=PackedStringArray("ship") instance=ExtResource("3_l8c0n")]
ship = NodePath("..")
@@ -1,17 +1,32 @@
[gd_scene load_steps=7 format=3 uid="uid://d3epy8w15qmjm"]
[gd_scene load_steps=10 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"]
[ext_resource type="Texture2D" uid="uid://5cgq8o5oqunq" path="res://images/ships/enemies/heavy.png" id="3_xqe8d"]
[ext_resource type="Shader" uid="uid://dwh22f35u5qqi" path="res://game/entities/ships/shield.gdshader" id="4_qawoi"]
[sub_resource type="AtlasTexture" id="AtlasTexture_xqe8d"]
atlas = ExtResource("3_xqe8d")
region = Rect2(0, 0, 64, 48)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_c4do6"]
resource_local_to_scene = true
shader = ExtResource("4_qawoi")
shader_parameter/speed = 0.0
shader_parameter/scale = 20.0
shader_parameter/intensity = 1.0
[sub_resource type="AtlasTexture" id="AtlasTexture_qawoi"]
atlas = ExtResource("3_xqe8d")
region = Rect2(0, 48, 64, 48)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_6d574"]
resource_local_to_scene = true
shader = ExtResource("4_qawoi")
shader_parameter/speed = 5.0
shader_parameter/scale = 20.0
shader_parameter/intensity = 1.0
[sub_resource type="AtlasTexture" id="AtlasTexture_c4do6"]
atlas = ExtResource("3_xqe8d")
region = Rect2(0, 96, 64, 48)
@@ -27,9 +42,11 @@ mass = 600
texture = SubResource("AtlasTexture_xqe8d")
[node name="ArmorSprite" parent="." index="1"]
material = SubResource("ShaderMaterial_c4do6")
texture = SubResource("AtlasTexture_qawoi")
[node name="ShieldSprite" parent="." index="2"]
material = SubResource("ShaderMaterial_6d574")
texture = SubResource("AtlasTexture_c4do6")
[node name="CollisionPolygon2D" parent="." index="3"]