From 32fa3dca574bdd2aa4b32c9c8c4030a956025a14 Mon Sep 17 00:00:00 2001 From: Ruslan Ignatov Date: Fri, 7 Nov 2025 16:40:56 +0300 Subject: [PATCH] Added more weapons --- game/entities/ship.gd | 2 +- game/entities/weapons/abstract_weapon.tscn | 8 +++--- .../gatling_gun.gd => cannon/cannon.gd} | 0 game/entities/weapons/cannon/cannon.gd.uid | 1 + game/entities/weapons/cannon/cannon.tscn | 20 +++++++++++++ .../weapons/cannon/cannon_projectile.gd | 1 + .../weapons/cannon/cannon_projectile.gd.uid | 1 + .../weapons/cannon/cannon_projectile.tscn | 21 ++++++++++++++ game/entities/weapons/gatling/gatling.gd | 12 ++++++++ .../gatling.gd.uid} | 0 .../gatling_gun.tscn => gatling/gatling.tscn} | 20 ++++++------- .../weapons/gatling/gatling_projectile.gd | 1 + .../gatling_projectile.gd.uid | 0 .../gatling_projectile.tscn | 2 +- .../weapons/gatling_gun/gatling_projectile.gd | 9 ------ game/entities/weapons/laser/laser.gd | 12 ++++++++ game/entities/weapons/laser/laser.gd.uid | 1 + game/entities/weapons/laser/laser.tscn | 27 ++++++++++++++++++ .../weapons/laser/laser_projectile.gd | 1 + .../weapons/laser/laser_projectile.gd.uid | 1 + .../weapons/laser/laser_projectile.tscn | 22 +++++++++++++++ game/entities/weapons/launcher/launcher.gd | 12 ++++++++ .../entities/weapons/launcher/launcher.gd.uid | 1 + game/entities/weapons/launcher/launcher.tscn | 20 +++++++++++++ .../weapons/launcher/launcher_projectile.gd | 1 + .../launcher/launcher_projectile.gd.uid | 1 + .../weapons/launcher/launcher_projectile.tscn | 24 ++++++++++++++++ game/entities/weapons/minelayer/minelayer.gd | 12 ++++++++ .../weapons/minelayer/minelayer.gd.uid | 1 + .../entities/weapons/minelayer/minelayer.tscn | 20 +++++++++++++ .../weapons/minelayer/minelayer_projectile.gd | 1 + .../minelayer/minelayer_projectile.gd.uid | 1 + .../minelayer/minelayer_projectile.tscn | 24 ++++++++++++++++ game/entities/weapons/plasma/plasma.gd | 12 ++++++++ game/entities/weapons/plasma/plasma.gd.uid | 1 + game/entities/weapons/plasma/plasma.tscn | 28 +++++++++++++++++++ .../weapons/plasma/plasma_projectile.gd | 1 + .../weapons/plasma/plasma_projectile.gd.uid | 1 + .../weapons/plasma/plasma_projectile.tscn | 22 +++++++++++++++ game/entities/weapons/railgun/railgun.tscn | 6 ++-- .../weapons/railgun/railgun_projectile.gd | 8 ------ .../weapons/railgun/railgun_projectile.tscn | 6 +++- game/entities/weapons/shrapnel/shrapnel.gd | 12 ++++++++ .../entities/weapons/shrapnel/shrapnel.gd.uid | 1 + game/entities/weapons/shrapnel/shrapnel.tscn | 28 +++++++++++++++++++ .../weapons/shrapnel/shrapnel_projectile.gd | 1 + .../shrapnel/shrapnel_projectile.gd.uid | 1 + .../weapons/shrapnel/shrapnel_projectile.tscn | 23 +++++++++++++++ game/entities/weapons/tesla/tesla.gd | 12 ++++++++ game/entities/weapons/tesla/tesla.gd.uid | 1 + game/entities/weapons/tesla/tesla.tscn | 28 +++++++++++++++++++ .../weapons/tesla/tesla_projectile.gd | 1 + .../weapons/tesla/tesla_projectile.gd.uid | 1 + .../weapons/tesla/tesla_projectile.tscn | 22 +++++++++++++++ .../reloaders/abstract_reloader.gd | 0 .../reloaders/abstract_reloader.gd.uid | 0 .../weapons => }/reloaders/energy_reloader.gd | 0 .../reloaders/energy_reloader.gd.uid | 0 .../reloaders/firerate_reloader.gd | 0 .../reloaders/firerate_reloader.gd.uid | 0 .../reloaders/gatling_reloader.gd | 0 .../reloaders/gatling_reloader.gd.uid | 0 .../reloaders/magazine_reloader.gd | 0 .../reloaders/magazine_reloader.gd.uid | 0 64 files changed, 459 insertions(+), 37 deletions(-) rename game/entities/weapons/{gatling_gun/gatling_gun.gd => cannon/cannon.gd} (100%) create mode 100644 game/entities/weapons/cannon/cannon.gd.uid create mode 100644 game/entities/weapons/cannon/cannon.tscn create mode 100644 game/entities/weapons/cannon/cannon_projectile.gd create mode 100644 game/entities/weapons/cannon/cannon_projectile.gd.uid create mode 100644 game/entities/weapons/cannon/cannon_projectile.tscn create mode 100644 game/entities/weapons/gatling/gatling.gd rename game/entities/weapons/{gatling_gun/gatling_gun.gd.uid => gatling/gatling.gd.uid} (100%) rename game/entities/weapons/{gatling_gun/gatling_gun.tscn => gatling/gatling.tscn} (61%) create mode 100644 game/entities/weapons/gatling/gatling_projectile.gd rename game/entities/weapons/{gatling_gun => gatling}/gatling_projectile.gd.uid (100%) rename game/entities/weapons/{gatling_gun => gatling}/gatling_projectile.tscn (91%) delete mode 100644 game/entities/weapons/gatling_gun/gatling_projectile.gd create mode 100644 game/entities/weapons/laser/laser.gd create mode 100644 game/entities/weapons/laser/laser.gd.uid create mode 100644 game/entities/weapons/laser/laser.tscn create mode 100644 game/entities/weapons/laser/laser_projectile.gd create mode 100644 game/entities/weapons/laser/laser_projectile.gd.uid create mode 100644 game/entities/weapons/laser/laser_projectile.tscn create mode 100644 game/entities/weapons/launcher/launcher.gd create mode 100644 game/entities/weapons/launcher/launcher.gd.uid create mode 100644 game/entities/weapons/launcher/launcher.tscn create mode 100644 game/entities/weapons/launcher/launcher_projectile.gd create mode 100644 game/entities/weapons/launcher/launcher_projectile.gd.uid create mode 100644 game/entities/weapons/launcher/launcher_projectile.tscn create mode 100644 game/entities/weapons/minelayer/minelayer.gd create mode 100644 game/entities/weapons/minelayer/minelayer.gd.uid create mode 100644 game/entities/weapons/minelayer/minelayer.tscn create mode 100644 game/entities/weapons/minelayer/minelayer_projectile.gd create mode 100644 game/entities/weapons/minelayer/minelayer_projectile.gd.uid create mode 100644 game/entities/weapons/minelayer/minelayer_projectile.tscn create mode 100644 game/entities/weapons/plasma/plasma.gd create mode 100644 game/entities/weapons/plasma/plasma.gd.uid create mode 100644 game/entities/weapons/plasma/plasma.tscn create mode 100644 game/entities/weapons/plasma/plasma_projectile.gd create mode 100644 game/entities/weapons/plasma/plasma_projectile.gd.uid create mode 100644 game/entities/weapons/plasma/plasma_projectile.tscn create mode 100644 game/entities/weapons/shrapnel/shrapnel.gd create mode 100644 game/entities/weapons/shrapnel/shrapnel.gd.uid create mode 100644 game/entities/weapons/shrapnel/shrapnel.tscn create mode 100644 game/entities/weapons/shrapnel/shrapnel_projectile.gd create mode 100644 game/entities/weapons/shrapnel/shrapnel_projectile.gd.uid create mode 100644 game/entities/weapons/shrapnel/shrapnel_projectile.tscn create mode 100644 game/entities/weapons/tesla/tesla.gd create mode 100644 game/entities/weapons/tesla/tesla.gd.uid create mode 100644 game/entities/weapons/tesla/tesla.tscn create mode 100644 game/entities/weapons/tesla/tesla_projectile.gd create mode 100644 game/entities/weapons/tesla/tesla_projectile.gd.uid create mode 100644 game/entities/weapons/tesla/tesla_projectile.tscn rename game/{entities/weapons => }/reloaders/abstract_reloader.gd (100%) rename game/{entities/weapons => }/reloaders/abstract_reloader.gd.uid (100%) rename game/{entities/weapons => }/reloaders/energy_reloader.gd (100%) rename game/{entities/weapons => }/reloaders/energy_reloader.gd.uid (100%) rename game/{entities/weapons => }/reloaders/firerate_reloader.gd (100%) rename game/{entities/weapons => }/reloaders/firerate_reloader.gd.uid (100%) rename game/{entities/weapons => }/reloaders/gatling_reloader.gd (100%) rename game/{entities/weapons => }/reloaders/gatling_reloader.gd.uid (100%) rename game/{entities/weapons => }/reloaders/magazine_reloader.gd (100%) rename game/{entities/weapons => }/reloaders/magazine_reloader.gd.uid (100%) diff --git a/game/entities/ship.gd b/game/entities/ship.gd index e744ad8..77efb11 100644 --- a/game/entities/ship.gd +++ b/game/entities/ship.gd @@ -31,7 +31,7 @@ func _ready() -> void: _update_texture_size() _update_collision_shape() - const GATLING = preload("res://game/entities/weapons/gatling_gun/gatling_gun.tscn") + const GATLING = preload("res://game/entities/weapons/gatling/gatling.tscn") const RAILGUN = preload("res://game/entities/weapons/railgun/railgun.tscn") var weapons_by_offset := { 8: GATLING.instantiate(), diff --git a/game/entities/weapons/abstract_weapon.tscn b/game/entities/weapons/abstract_weapon.tscn index fe7d651..1cec0c7 100644 --- a/game/entities/weapons/abstract_weapon.tscn +++ b/game/entities/weapons/abstract_weapon.tscn @@ -1,10 +1,10 @@ [gd_scene load_steps=8 format=3 uid="uid://1o2ta17yc5bp"] [ext_resource type="Script" uid="uid://dpqxs8hlql2o0" path="res://game/entities/weapons/abstract_weapon.gd" id="1_x30ps"] -[ext_resource type="PackedScene" uid="uid://cnoiv8hdgossf" path="res://game/entities/weapons/gatling_gun/gatling_projectile.tscn" id="2_7kmqt"] -[ext_resource type="Script" uid="uid://ccpriilfr3kme" path="res://game/entities/weapons/reloaders/abstract_reloader.gd" id="3_x30ps"] -[ext_resource type="Script" uid="uid://d2gfhnlbqxsoq" path="res://game/entities/weapons/reloaders/magazine_reloader.gd" id="4_7kmqt"] -[ext_resource type="Script" uid="uid://b255rb32vc6co" path="res://game/entities/weapons/reloaders/firerate_reloader.gd" id="5_jj42u"] +[ext_resource type="PackedScene" uid="uid://cnoiv8hdgossf" path="res://game/entities/weapons/gatling/gatling_projectile.tscn" id="2_7kmqt"] +[ext_resource type="Script" uid="uid://ccpriilfr3kme" path="res://game/reloaders/abstract_reloader.gd" id="3_x30ps"] +[ext_resource type="Script" uid="uid://d2gfhnlbqxsoq" path="res://game/reloaders/magazine_reloader.gd" id="4_7kmqt"] +[ext_resource type="Script" uid="uid://b255rb32vc6co" path="res://game/reloaders/firerate_reloader.gd" id="5_jj42u"] [sub_resource type="Resource" id="Resource_xi513"] script = ExtResource("4_7kmqt") diff --git a/game/entities/weapons/gatling_gun/gatling_gun.gd b/game/entities/weapons/cannon/cannon.gd similarity index 100% rename from game/entities/weapons/gatling_gun/gatling_gun.gd rename to game/entities/weapons/cannon/cannon.gd diff --git a/game/entities/weapons/cannon/cannon.gd.uid b/game/entities/weapons/cannon/cannon.gd.uid new file mode 100644 index 0000000..a146100 --- /dev/null +++ b/game/entities/weapons/cannon/cannon.gd.uid @@ -0,0 +1 @@ +uid://db24dm76b1am7 diff --git a/game/entities/weapons/cannon/cannon.tscn b/game/entities/weapons/cannon/cannon.tscn new file mode 100644 index 0000000..720a795 --- /dev/null +++ b/game/entities/weapons/cannon/cannon.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=6 format=3 uid="uid://3isnru3m6f84"] + +[ext_resource type="Script" uid="uid://db24dm76b1am7" path="res://game/entities/weapons/cannon/cannon.gd" id="1_xnbws"] +[ext_resource type="PackedScene" uid="uid://c6b8qbeaqpni8" path="res://game/entities/weapons/cannon/cannon_projectile.tscn" id="2_2bjeu"] +[ext_resource type="Script" uid="uid://ccpriilfr3kme" path="res://game/reloaders/abstract_reloader.gd" id="3_7e2aj"] +[ext_resource type="Script" uid="uid://b255rb32vc6co" path="res://game/reloaders/firerate_reloader.gd" id="4_bv8g1"] + +[sub_resource type="Resource" id="Resource_xyug2"] +script = ExtResource("4_bv8g1") +firerate = 50 +metadata/_custom_type_script = "uid://b255rb32vc6co" + +[node name="Cannon" type="Node2D"] +script = ExtResource("1_xnbws") +sector_angle = 1 +Projectile = ExtResource("2_2bjeu") +reloaders = Array[ExtResource("3_7e2aj")]([SubResource("Resource_xyug2")]) +metadata/_custom_type_script = "uid://dpqxs8hlql2o0" + +[node name="Sprite2D" type="Sprite2D" parent="."] diff --git a/game/entities/weapons/cannon/cannon_projectile.gd b/game/entities/weapons/cannon/cannon_projectile.gd new file mode 100644 index 0000000..f4d8c80 --- /dev/null +++ b/game/entities/weapons/cannon/cannon_projectile.gd @@ -0,0 +1 @@ +extends AbstractProjectile diff --git a/game/entities/weapons/cannon/cannon_projectile.gd.uid b/game/entities/weapons/cannon/cannon_projectile.gd.uid new file mode 100644 index 0000000..830af4e --- /dev/null +++ b/game/entities/weapons/cannon/cannon_projectile.gd.uid @@ -0,0 +1 @@ +uid://dfdh0o88as054 diff --git a/game/entities/weapons/cannon/cannon_projectile.tscn b/game/entities/weapons/cannon/cannon_projectile.tscn new file mode 100644 index 0000000..f6e11ea --- /dev/null +++ b/game/entities/weapons/cannon/cannon_projectile.tscn @@ -0,0 +1,21 @@ +[gd_scene load_steps=4 format=3 uid="uid://c6b8qbeaqpni8"] + +[ext_resource type="Script" uid="uid://dfdh0o88as054" path="res://game/entities/weapons/cannon/cannon_projectile.gd" id="1_20qwt"] + +[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_20qwt"] +size = Vector2(6, 6) + +[sub_resource type="CircleShape2D" id="CircleShape2D_20qwt"] +radius = 2.0 + +[node name="CannonProjectile" type="CharacterBody2D"] +script = ExtResource("1_20qwt") +damage = 50 +speed = 600 +metadata/_custom_type_script = "uid://ctmjb3nkxrepu" + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = SubResource("PlaceholderTexture2D_20qwt") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_20qwt") diff --git a/game/entities/weapons/gatling/gatling.gd b/game/entities/weapons/gatling/gatling.gd new file mode 100644 index 0000000..a3c01cf --- /dev/null +++ b/game/entities/weapons/gatling/gatling.gd @@ -0,0 +1,12 @@ +extends AbstractWeapon + + +@onready var sprite := $Sprite2D + + +func _ready() -> void: + var texture := PlaceholderTexture2D.new() + texture.size = Vector2(10, 7) + sprite.texture = texture + + super._ready() diff --git a/game/entities/weapons/gatling_gun/gatling_gun.gd.uid b/game/entities/weapons/gatling/gatling.gd.uid similarity index 100% rename from game/entities/weapons/gatling_gun/gatling_gun.gd.uid rename to game/entities/weapons/gatling/gatling.gd.uid diff --git a/game/entities/weapons/gatling_gun/gatling_gun.tscn b/game/entities/weapons/gatling/gatling.tscn similarity index 61% rename from game/entities/weapons/gatling_gun/gatling_gun.tscn rename to game/entities/weapons/gatling/gatling.tscn index ff4b913..bd73f55 100644 --- a/game/entities/weapons/gatling_gun/gatling_gun.tscn +++ b/game/entities/weapons/gatling/gatling.tscn @@ -1,28 +1,28 @@ [gd_scene load_steps=8 format=3 uid="uid://c4vvw741175tj"] -[ext_resource type="Script" uid="uid://c1bsvmj7xhnxe" path="res://game/entities/weapons/gatling_gun/gatling_gun.gd" id="1_irb3o"] -[ext_resource type="PackedScene" uid="uid://cnoiv8hdgossf" path="res://game/entities/weapons/gatling_gun/gatling_projectile.tscn" id="2_kifyy"] -[ext_resource type="Script" uid="uid://ccpriilfr3kme" path="res://game/entities/weapons/reloaders/abstract_reloader.gd" id="3_lpe3m"] -[ext_resource type="Script" uid="uid://oslebeau3f4b" path="res://game/entities/weapons/reloaders/gatling_reloader.gd" id="4_irb3o"] -[ext_resource type="Script" uid="uid://d2gfhnlbqxsoq" path="res://game/entities/weapons/reloaders/magazine_reloader.gd" id="5_376q2"] +[ext_resource type="Script" uid="uid://c1bsvmj7xhnxe" path="res://game/entities/weapons/gatling/gatling.gd" id="1_kg6du"] +[ext_resource type="PackedScene" uid="uid://cnoiv8hdgossf" path="res://game/entities/weapons/gatling/gatling_projectile.tscn" id="2_ylc0n"] +[ext_resource type="Script" uid="uid://ccpriilfr3kme" path="res://game/reloaders/abstract_reloader.gd" id="3_uucc4"] +[ext_resource type="Script" uid="uid://oslebeau3f4b" path="res://game/reloaders/gatling_reloader.gd" id="4_g81jq"] +[ext_resource type="Script" uid="uid://d2gfhnlbqxsoq" path="res://game/reloaders/magazine_reloader.gd" id="5_tjfs0"] [sub_resource type="Resource" id="Resource_kifyy"] -script = ExtResource("4_irb3o") +script = ExtResource("4_g81jq") firerate = 600 spin_out_time = 3 metadata/_custom_type_script = "uid://oslebeau3f4b" [sub_resource type="Resource" id="Resource_6px3v"] -script = ExtResource("5_376q2") +script = ExtResource("5_tjfs0") magazine_size = 300 reload_time = 2 metadata/_custom_type_script = "uid://d2gfhnlbqxsoq" [node name="GatlingGun" type="Node2D"] -script = ExtResource("1_irb3o") +script = ExtResource("1_kg6du") sector_angle = 5 -Projectile = ExtResource("2_kifyy") -reloaders = Array[ExtResource("3_lpe3m")]([SubResource("Resource_kifyy"), SubResource("Resource_6px3v")]) +Projectile = ExtResource("2_ylc0n") +reloaders = Array[ExtResource("3_uucc4")]([SubResource("Resource_kifyy"), SubResource("Resource_6px3v")]) metadata/_custom_type_script = "uid://dpqxs8hlql2o0" [node name="Sprite2D" type="Sprite2D" parent="."] diff --git a/game/entities/weapons/gatling/gatling_projectile.gd b/game/entities/weapons/gatling/gatling_projectile.gd new file mode 100644 index 0000000..f4d8c80 --- /dev/null +++ b/game/entities/weapons/gatling/gatling_projectile.gd @@ -0,0 +1 @@ +extends AbstractProjectile diff --git a/game/entities/weapons/gatling_gun/gatling_projectile.gd.uid b/game/entities/weapons/gatling/gatling_projectile.gd.uid similarity index 100% rename from game/entities/weapons/gatling_gun/gatling_projectile.gd.uid rename to game/entities/weapons/gatling/gatling_projectile.gd.uid diff --git a/game/entities/weapons/gatling_gun/gatling_projectile.tscn b/game/entities/weapons/gatling/gatling_projectile.tscn similarity index 91% rename from game/entities/weapons/gatling_gun/gatling_projectile.tscn rename to game/entities/weapons/gatling/gatling_projectile.tscn index dba04bc..389681b 100644 --- a/game/entities/weapons/gatling_gun/gatling_projectile.tscn +++ b/game/entities/weapons/gatling/gatling_projectile.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=3 uid="uid://cnoiv8hdgossf"] -[ext_resource type="Script" uid="uid://rtsf1n0djorp" path="res://game/entities/weapons/gatling_gun/gatling_projectile.gd" id="1_xq7oi"] +[ext_resource type="Script" uid="uid://rtsf1n0djorp" path="res://game/entities/weapons/gatling/gatling_projectile.gd" id="1_xq7oi"] [sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_xq7oi"] size = Vector2(4, 4) diff --git a/game/entities/weapons/gatling_gun/gatling_projectile.gd b/game/entities/weapons/gatling_gun/gatling_projectile.gd deleted file mode 100644 index 04d8160..0000000 --- a/game/entities/weapons/gatling_gun/gatling_projectile.gd +++ /dev/null @@ -1,9 +0,0 @@ -extends AbstractProjectile - - -func _ready() -> void: - var texture := PlaceholderTexture2D.new() - texture.size = Vector2(4, 4) - $Sprite2D.texture = texture - - super._ready() diff --git a/game/entities/weapons/laser/laser.gd b/game/entities/weapons/laser/laser.gd new file mode 100644 index 0000000..a3c01cf --- /dev/null +++ b/game/entities/weapons/laser/laser.gd @@ -0,0 +1,12 @@ +extends AbstractWeapon + + +@onready var sprite := $Sprite2D + + +func _ready() -> void: + var texture := PlaceholderTexture2D.new() + texture.size = Vector2(10, 7) + sprite.texture = texture + + super._ready() diff --git a/game/entities/weapons/laser/laser.gd.uid b/game/entities/weapons/laser/laser.gd.uid new file mode 100644 index 0000000..7730943 --- /dev/null +++ b/game/entities/weapons/laser/laser.gd.uid @@ -0,0 +1 @@ +uid://bxr150at8ul2a diff --git a/game/entities/weapons/laser/laser.tscn b/game/entities/weapons/laser/laser.tscn new file mode 100644 index 0000000..56f41b1 --- /dev/null +++ b/game/entities/weapons/laser/laser.tscn @@ -0,0 +1,27 @@ +[gd_scene load_steps=8 format=3 uid="uid://c67jhwocoevkv"] + +[ext_resource type="Script" uid="uid://bxr150at8ul2a" path="res://game/entities/weapons/laser/laser.gd" id="1_pki4x"] +[ext_resource type="PackedScene" uid="uid://d31js2vi7dlit" path="res://game/entities/weapons/laser/laser_projectile.tscn" id="2_fecho"] +[ext_resource type="Script" uid="uid://ccpriilfr3kme" path="res://game/reloaders/abstract_reloader.gd" id="3_c1wcw"] +[ext_resource type="Script" uid="uid://b255rb32vc6co" path="res://game/reloaders/firerate_reloader.gd" id="4_cl0br"] +[ext_resource type="Script" uid="uid://dxk56xdihfw4m" path="res://game/reloaders/energy_reloader.gd" id="5_l3tgo"] + +[sub_resource type="Resource" id="Resource_77vow"] +script = ExtResource("4_cl0br") +firerate = 3000 +metadata/_custom_type_script = "uid://b255rb32vc6co" + +[sub_resource type="Resource" id="Resource_nwpae"] +script = ExtResource("5_l3tgo") +heat_per_shot = 2 +heat_capacity = 1000 +cooling_down_rate = 2500 +metadata/_custom_type_script = "uid://dxk56xdihfw4m" + +[node name="Laser" type="Node2D"] +script = ExtResource("1_pki4x") +Projectile = ExtResource("2_fecho") +reloaders = Array[ExtResource("3_c1wcw")]([SubResource("Resource_77vow"), SubResource("Resource_nwpae")]) +metadata/_custom_type_script = "uid://dpqxs8hlql2o0" + +[node name="Sprite2D" type="Sprite2D" parent="."] diff --git a/game/entities/weapons/laser/laser_projectile.gd b/game/entities/weapons/laser/laser_projectile.gd new file mode 100644 index 0000000..f4d8c80 --- /dev/null +++ b/game/entities/weapons/laser/laser_projectile.gd @@ -0,0 +1 @@ +extends AbstractProjectile diff --git a/game/entities/weapons/laser/laser_projectile.gd.uid b/game/entities/weapons/laser/laser_projectile.gd.uid new file mode 100644 index 0000000..a256ef5 --- /dev/null +++ b/game/entities/weapons/laser/laser_projectile.gd.uid @@ -0,0 +1 @@ +uid://bdxq4aflhc8vd diff --git a/game/entities/weapons/laser/laser_projectile.tscn b/game/entities/weapons/laser/laser_projectile.tscn new file mode 100644 index 0000000..40e82a2 --- /dev/null +++ b/game/entities/weapons/laser/laser_projectile.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=3 uid="uid://d31js2vi7dlit"] + +[ext_resource type="Script" uid="uid://bdxq4aflhc8vd" path="res://game/entities/weapons/laser/laser_projectile.gd" id="1_3a8fg"] + +[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_3a8fg"] +size = Vector2(4, 4) + +[sub_resource type="CircleShape2D" id="CircleShape2D_3a8fg"] +radius = 1.0 + +[node name="LaserProjectile" type="CharacterBody2D"] +motion_mode = 1 +script = ExtResource("1_3a8fg") +damage = 1 +speed = 240 +metadata/_custom_type_script = "uid://ctmjb3nkxrepu" + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = SubResource("PlaceholderTexture2D_3a8fg") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_3a8fg") diff --git a/game/entities/weapons/launcher/launcher.gd b/game/entities/weapons/launcher/launcher.gd new file mode 100644 index 0000000..a3c01cf --- /dev/null +++ b/game/entities/weapons/launcher/launcher.gd @@ -0,0 +1,12 @@ +extends AbstractWeapon + + +@onready var sprite := $Sprite2D + + +func _ready() -> void: + var texture := PlaceholderTexture2D.new() + texture.size = Vector2(10, 7) + sprite.texture = texture + + super._ready() diff --git a/game/entities/weapons/launcher/launcher.gd.uid b/game/entities/weapons/launcher/launcher.gd.uid new file mode 100644 index 0000000..54466fe --- /dev/null +++ b/game/entities/weapons/launcher/launcher.gd.uid @@ -0,0 +1 @@ +uid://lauvvj5xhbud diff --git a/game/entities/weapons/launcher/launcher.tscn b/game/entities/weapons/launcher/launcher.tscn new file mode 100644 index 0000000..4b6e1a9 --- /dev/null +++ b/game/entities/weapons/launcher/launcher.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=6 format=3 uid="uid://da5hpi3py7hhx"] + +[ext_resource type="Script" uid="uid://lauvvj5xhbud" path="res://game/entities/weapons/launcher/launcher.gd" id="1_sk5u1"] +[ext_resource type="PackedScene" uid="uid://du60nb1ni0bco" path="res://game/entities/weapons/launcher/launcher_projectile.tscn" id="2_q88o8"] +[ext_resource type="Script" uid="uid://ccpriilfr3kme" path="res://game/reloaders/abstract_reloader.gd" id="3_1rkeb"] +[ext_resource type="Script" uid="uid://b255rb32vc6co" path="res://game/reloaders/firerate_reloader.gd" id="4_fsoo2"] + +[sub_resource type="Resource" id="Resource_8arbu"] +script = ExtResource("4_fsoo2") +firerate = 120 +metadata/_custom_type_script = "uid://b255rb32vc6co" + +[node name="Launcher" type="Node2D"] +script = ExtResource("1_sk5u1") +sector_angle = 5 +Projectile = ExtResource("2_q88o8") +reloaders = Array[ExtResource("3_1rkeb")]([SubResource("Resource_8arbu")]) +metadata/_custom_type_script = "uid://dpqxs8hlql2o0" + +[node name="Sprite2D" type="Sprite2D" parent="."] diff --git a/game/entities/weapons/launcher/launcher_projectile.gd b/game/entities/weapons/launcher/launcher_projectile.gd new file mode 100644 index 0000000..f4d8c80 --- /dev/null +++ b/game/entities/weapons/launcher/launcher_projectile.gd @@ -0,0 +1 @@ +extends AbstractProjectile diff --git a/game/entities/weapons/launcher/launcher_projectile.gd.uid b/game/entities/weapons/launcher/launcher_projectile.gd.uid new file mode 100644 index 0000000..de24824 --- /dev/null +++ b/game/entities/weapons/launcher/launcher_projectile.gd.uid @@ -0,0 +1 @@ +uid://dkvur5bdwg3sr diff --git a/game/entities/weapons/launcher/launcher_projectile.tscn b/game/entities/weapons/launcher/launcher_projectile.tscn new file mode 100644 index 0000000..bf0ede2 --- /dev/null +++ b/game/entities/weapons/launcher/launcher_projectile.tscn @@ -0,0 +1,24 @@ +[gd_scene load_steps=4 format=3 uid="uid://du60nb1ni0bco"] + +[ext_resource type="Script" uid="uid://dkvur5bdwg3sr" path="res://game/entities/weapons/launcher/launcher_projectile.gd" id="1_0mcat"] + +[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_0mcat"] +size = Vector2(8, 4) + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_0mcat"] +radius = 1.0 +height = 6.0 + +[node name="LauncherProjectile" type="CharacterBody2D"] +motion_mode = 1 +script = ExtResource("1_0mcat") +damage = 24 +speed = 300 +metadata/_custom_type_script = "uid://ctmjb3nkxrepu" + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = SubResource("PlaceholderTexture2D_0mcat") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +rotation = 1.5707964 +shape = SubResource("CapsuleShape2D_0mcat") diff --git a/game/entities/weapons/minelayer/minelayer.gd b/game/entities/weapons/minelayer/minelayer.gd new file mode 100644 index 0000000..a3c01cf --- /dev/null +++ b/game/entities/weapons/minelayer/minelayer.gd @@ -0,0 +1,12 @@ +extends AbstractWeapon + + +@onready var sprite := $Sprite2D + + +func _ready() -> void: + var texture := PlaceholderTexture2D.new() + texture.size = Vector2(10, 7) + sprite.texture = texture + + super._ready() diff --git a/game/entities/weapons/minelayer/minelayer.gd.uid b/game/entities/weapons/minelayer/minelayer.gd.uid new file mode 100644 index 0000000..fc53b3b --- /dev/null +++ b/game/entities/weapons/minelayer/minelayer.gd.uid @@ -0,0 +1 @@ +uid://c3ckkpjaef5jn diff --git a/game/entities/weapons/minelayer/minelayer.tscn b/game/entities/weapons/minelayer/minelayer.tscn new file mode 100644 index 0000000..47607aa --- /dev/null +++ b/game/entities/weapons/minelayer/minelayer.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=6 format=3 uid="uid://beddohbuop7d0"] + +[ext_resource type="Script" uid="uid://c3ckkpjaef5jn" path="res://game/entities/weapons/minelayer/minelayer.gd" id="1_12l3k"] +[ext_resource type="PackedScene" uid="uid://dh46vqucky3bo" path="res://game/entities/weapons/minelayer/minelayer_projectile.tscn" id="2_7y446"] +[ext_resource type="Script" uid="uid://ccpriilfr3kme" path="res://game/reloaders/abstract_reloader.gd" id="3_uotj8"] +[ext_resource type="Script" uid="uid://b255rb32vc6co" path="res://game/reloaders/firerate_reloader.gd" id="4_fbmxv"] + +[sub_resource type="Resource" id="Resource_vl21o"] +script = ExtResource("4_fbmxv") +firerate = 40 +metadata/_custom_type_script = "uid://b255rb32vc6co" + +[node name="Minelayer" type="Node2D"] +script = ExtResource("1_12l3k") +sector_angle = 10 +Projectile = ExtResource("2_7y446") +reloaders = Array[ExtResource("3_uotj8")]([SubResource("Resource_vl21o")]) +metadata/_custom_type_script = "uid://dpqxs8hlql2o0" + +[node name="Sprite2D" type="Sprite2D" parent="."] diff --git a/game/entities/weapons/minelayer/minelayer_projectile.gd b/game/entities/weapons/minelayer/minelayer_projectile.gd new file mode 100644 index 0000000..f4d8c80 --- /dev/null +++ b/game/entities/weapons/minelayer/minelayer_projectile.gd @@ -0,0 +1 @@ +extends AbstractProjectile diff --git a/game/entities/weapons/minelayer/minelayer_projectile.gd.uid b/game/entities/weapons/minelayer/minelayer_projectile.gd.uid new file mode 100644 index 0000000..e6d65f2 --- /dev/null +++ b/game/entities/weapons/minelayer/minelayer_projectile.gd.uid @@ -0,0 +1 @@ +uid://76swcukelnii diff --git a/game/entities/weapons/minelayer/minelayer_projectile.tscn b/game/entities/weapons/minelayer/minelayer_projectile.tscn new file mode 100644 index 0000000..3c0de0f --- /dev/null +++ b/game/entities/weapons/minelayer/minelayer_projectile.tscn @@ -0,0 +1,24 @@ +[gd_scene load_steps=4 format=3 uid="uid://dh46vqucky3bo"] + +[ext_resource type="Script" uid="uid://76swcukelnii" path="res://game/entities/weapons/minelayer/minelayer_projectile.gd" id="1_ufc4r"] + +[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_ufc4r"] +size = Vector2(16, 16) + +[sub_resource type="CircleShape2D" id="CircleShape2D_ufc4r"] +radius = 7.0 + +[node name="MinelayerProjectile" type="CharacterBody2D"] +motion_mode = 1 +script = ExtResource("1_ufc4r") +damage = 100 +speed = 200 +acceleration = -10 +max_livetime = 60 +metadata/_custom_type_script = "uid://ctmjb3nkxrepu" + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = SubResource("PlaceholderTexture2D_ufc4r") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_ufc4r") diff --git a/game/entities/weapons/plasma/plasma.gd b/game/entities/weapons/plasma/plasma.gd new file mode 100644 index 0000000..a3c01cf --- /dev/null +++ b/game/entities/weapons/plasma/plasma.gd @@ -0,0 +1,12 @@ +extends AbstractWeapon + + +@onready var sprite := $Sprite2D + + +func _ready() -> void: + var texture := PlaceholderTexture2D.new() + texture.size = Vector2(10, 7) + sprite.texture = texture + + super._ready() diff --git a/game/entities/weapons/plasma/plasma.gd.uid b/game/entities/weapons/plasma/plasma.gd.uid new file mode 100644 index 0000000..2fc29a3 --- /dev/null +++ b/game/entities/weapons/plasma/plasma.gd.uid @@ -0,0 +1 @@ +uid://cu6ck2oqqdem8 diff --git a/game/entities/weapons/plasma/plasma.tscn b/game/entities/weapons/plasma/plasma.tscn new file mode 100644 index 0000000..6f42770 --- /dev/null +++ b/game/entities/weapons/plasma/plasma.tscn @@ -0,0 +1,28 @@ +[gd_scene load_steps=8 format=3 uid="uid://mhar8dm1ni73"] + +[ext_resource type="Script" uid="uid://cu6ck2oqqdem8" path="res://game/entities/weapons/plasma/plasma.gd" id="1_pkk8e"] +[ext_resource type="PackedScene" uid="uid://b2sd3ur65gpwh" path="res://game/entities/weapons/plasma/plasma_projectile.tscn" id="2_yluvp"] +[ext_resource type="Script" uid="uid://ccpriilfr3kme" path="res://game/reloaders/abstract_reloader.gd" id="3_fnsb7"] +[ext_resource type="Script" uid="uid://b255rb32vc6co" path="res://game/reloaders/firerate_reloader.gd" id="4_gpth1"] +[ext_resource type="Script" uid="uid://dxk56xdihfw4m" path="res://game/reloaders/energy_reloader.gd" id="5_daaq0"] + +[sub_resource type="Resource" id="Resource_d5x03"] +script = ExtResource("4_gpth1") +firerate = 150 +metadata/_custom_type_script = "uid://b255rb32vc6co" + +[sub_resource type="Resource" id="Resource_028m2"] +script = ExtResource("5_daaq0") +heat_per_shot = 35 +heat_capacity = 1000 +cooling_down_rate = 1000 +metadata/_custom_type_script = "uid://dxk56xdihfw4m" + +[node name="Plasma" type="Node2D"] +script = ExtResource("1_pkk8e") +sector_angle = 2 +Projectile = ExtResource("2_yluvp") +reloaders = Array[ExtResource("3_fnsb7")]([SubResource("Resource_d5x03"), SubResource("Resource_028m2")]) +metadata/_custom_type_script = "uid://dpqxs8hlql2o0" + +[node name="Sprite2D" type="Sprite2D" parent="."] diff --git a/game/entities/weapons/plasma/plasma_projectile.gd b/game/entities/weapons/plasma/plasma_projectile.gd new file mode 100644 index 0000000..f4d8c80 --- /dev/null +++ b/game/entities/weapons/plasma/plasma_projectile.gd @@ -0,0 +1 @@ +extends AbstractProjectile diff --git a/game/entities/weapons/plasma/plasma_projectile.gd.uid b/game/entities/weapons/plasma/plasma_projectile.gd.uid new file mode 100644 index 0000000..2d6ee95 --- /dev/null +++ b/game/entities/weapons/plasma/plasma_projectile.gd.uid @@ -0,0 +1 @@ +uid://bu5sjoh4hwkhn diff --git a/game/entities/weapons/plasma/plasma_projectile.tscn b/game/entities/weapons/plasma/plasma_projectile.tscn new file mode 100644 index 0000000..82eef84 --- /dev/null +++ b/game/entities/weapons/plasma/plasma_projectile.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=3 uid="uid://b2sd3ur65gpwh"] + +[ext_resource type="Script" uid="uid://bu5sjoh4hwkhn" path="res://game/entities/weapons/plasma/plasma_projectile.gd" id="1_x58hw"] + +[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_x58hw"] +size = Vector2(6, 6) + +[sub_resource type="CircleShape2D" id="CircleShape2D_x58hw"] +radius = 2.0 + +[node name="PlasmaProjectile" type="CharacterBody2D"] +motion_mode = 1 +script = ExtResource("1_x58hw") +damage = 20 +speed = 450 +metadata/_custom_type_script = "uid://ctmjb3nkxrepu" + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = SubResource("PlaceholderTexture2D_x58hw") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_x58hw") diff --git a/game/entities/weapons/railgun/railgun.tscn b/game/entities/weapons/railgun/railgun.tscn index e0a4a34..b14a16a 100644 --- a/game/entities/weapons/railgun/railgun.tscn +++ b/game/entities/weapons/railgun/railgun.tscn @@ -2,9 +2,9 @@ [ext_resource type="Script" uid="uid://drnofu4ium56e" path="res://game/entities/weapons/railgun/railgun.gd" id="1_5nhwg"] [ext_resource type="PackedScene" uid="uid://dpd6qm3e3wbjx" path="res://game/entities/weapons/railgun/railgun_projectile.tscn" id="2_cbsia"] -[ext_resource type="Script" uid="uid://ccpriilfr3kme" path="res://game/entities/weapons/reloaders/abstract_reloader.gd" id="3_qxka8"] -[ext_resource type="Script" uid="uid://b255rb32vc6co" path="res://game/entities/weapons/reloaders/firerate_reloader.gd" id="4_igknv"] -[ext_resource type="Script" uid="uid://d2gfhnlbqxsoq" path="res://game/entities/weapons/reloaders/magazine_reloader.gd" id="5_buejq"] +[ext_resource type="Script" uid="uid://ccpriilfr3kme" path="res://game/reloaders/abstract_reloader.gd" id="3_qxka8"] +[ext_resource type="Script" uid="uid://b255rb32vc6co" path="res://game/reloaders/firerate_reloader.gd" id="4_igknv"] +[ext_resource type="Script" uid="uid://d2gfhnlbqxsoq" path="res://game/reloaders/magazine_reloader.gd" id="5_buejq"] [sub_resource type="Resource" id="Resource_6wi8i"] script = ExtResource("4_igknv") diff --git a/game/entities/weapons/railgun/railgun_projectile.gd b/game/entities/weapons/railgun/railgun_projectile.gd index e00f7b1..f4d8c80 100644 --- a/game/entities/weapons/railgun/railgun_projectile.gd +++ b/game/entities/weapons/railgun/railgun_projectile.gd @@ -1,9 +1 @@ extends AbstractProjectile - - -func _ready() -> void: - var texture := PlaceholderTexture2D.new() - texture.size = Vector2(6, 6) - $Sprite2D.texture = texture - - super._ready() diff --git a/game/entities/weapons/railgun/railgun_projectile.tscn b/game/entities/weapons/railgun/railgun_projectile.tscn index 1b08822..9932239 100644 --- a/game/entities/weapons/railgun/railgun_projectile.tscn +++ b/game/entities/weapons/railgun/railgun_projectile.tscn @@ -1,7 +1,10 @@ -[gd_scene load_steps=3 format=3 uid="uid://dpd6qm3e3wbjx"] +[gd_scene load_steps=4 format=3 uid="uid://dpd6qm3e3wbjx"] [ext_resource type="Script" uid="uid://n3h1e3pj02g0" path="res://game/entities/weapons/railgun/railgun_projectile.gd" id="1_hycpq"] +[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_rfd1j"] +size = Vector2(6, 6) + [sub_resource type="CircleShape2D" id="CircleShape2D_hycpq"] radius = 2.0 @@ -16,6 +19,7 @@ piercing = 1 metadata/_custom_type_script = "uid://ctmjb3nkxrepu" [node name="Sprite2D" type="Sprite2D" parent="."] +texture = SubResource("PlaceholderTexture2D_rfd1j") [node name="CollisionShape2D" type="CollisionShape2D" parent="."] shape = SubResource("CircleShape2D_hycpq") diff --git a/game/entities/weapons/shrapnel/shrapnel.gd b/game/entities/weapons/shrapnel/shrapnel.gd new file mode 100644 index 0000000..a3c01cf --- /dev/null +++ b/game/entities/weapons/shrapnel/shrapnel.gd @@ -0,0 +1,12 @@ +extends AbstractWeapon + + +@onready var sprite := $Sprite2D + + +func _ready() -> void: + var texture := PlaceholderTexture2D.new() + texture.size = Vector2(10, 7) + sprite.texture = texture + + super._ready() diff --git a/game/entities/weapons/shrapnel/shrapnel.gd.uid b/game/entities/weapons/shrapnel/shrapnel.gd.uid new file mode 100644 index 0000000..de10c20 --- /dev/null +++ b/game/entities/weapons/shrapnel/shrapnel.gd.uid @@ -0,0 +1 @@ +uid://gxwbsiicuqh5 diff --git a/game/entities/weapons/shrapnel/shrapnel.tscn b/game/entities/weapons/shrapnel/shrapnel.tscn new file mode 100644 index 0000000..179af65 --- /dev/null +++ b/game/entities/weapons/shrapnel/shrapnel.tscn @@ -0,0 +1,28 @@ +[gd_scene load_steps=8 format=3 uid="uid://cy7g35uoq3ts"] + +[ext_resource type="Script" uid="uid://gxwbsiicuqh5" path="res://game/entities/weapons/shrapnel/shrapnel.gd" id="1_xk300"] +[ext_resource type="PackedScene" uid="uid://7pe0un48uedn" path="res://game/entities/weapons/shrapnel/shrapnel_projectile.tscn" id="2_xvd4y"] +[ext_resource type="Script" uid="uid://ccpriilfr3kme" path="res://game/reloaders/abstract_reloader.gd" id="3_tyrw7"] +[ext_resource type="Script" uid="uid://b255rb32vc6co" path="res://game/reloaders/firerate_reloader.gd" id="4_nfmol"] +[ext_resource type="Script" uid="uid://d2gfhnlbqxsoq" path="res://game/reloaders/magazine_reloader.gd" id="5_mw83u"] + +[sub_resource type="Resource" id="Resource_8lwl1"] +script = ExtResource("4_nfmol") +firerate = 100 +metadata/_custom_type_script = "uid://b255rb32vc6co" + +[sub_resource type="Resource" id="Resource_xcpx0"] +script = ExtResource("5_mw83u") +magazine_size = 35 +reload_time = 5 +metadata/_custom_type_script = "uid://d2gfhnlbqxsoq" + +[node name="Shrapnel" type="Node2D"] +script = ExtResource("1_xk300") +bullet_per_shot = 20 +sector_angle = 30 +Projectile = ExtResource("2_xvd4y") +reloaders = Array[ExtResource("3_tyrw7")]([SubResource("Resource_8lwl1"), SubResource("Resource_xcpx0")]) +metadata/_custom_type_script = "uid://dpqxs8hlql2o0" + +[node name="Sprite2D" type="Sprite2D" parent="."] diff --git a/game/entities/weapons/shrapnel/shrapnel_projectile.gd b/game/entities/weapons/shrapnel/shrapnel_projectile.gd new file mode 100644 index 0000000..f4d8c80 --- /dev/null +++ b/game/entities/weapons/shrapnel/shrapnel_projectile.gd @@ -0,0 +1 @@ +extends AbstractProjectile diff --git a/game/entities/weapons/shrapnel/shrapnel_projectile.gd.uid b/game/entities/weapons/shrapnel/shrapnel_projectile.gd.uid new file mode 100644 index 0000000..3dd5f51 --- /dev/null +++ b/game/entities/weapons/shrapnel/shrapnel_projectile.gd.uid @@ -0,0 +1 @@ +uid://ctnje7pjanaws diff --git a/game/entities/weapons/shrapnel/shrapnel_projectile.tscn b/game/entities/weapons/shrapnel/shrapnel_projectile.tscn new file mode 100644 index 0000000..c41bee3 --- /dev/null +++ b/game/entities/weapons/shrapnel/shrapnel_projectile.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=4 format=3 uid="uid://7pe0un48uedn"] + +[ext_resource type="Script" uid="uid://ctnje7pjanaws" path="res://game/entities/weapons/shrapnel/shrapnel_projectile.gd" id="1_yu2c6"] + +[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_yu2c6"] +size = Vector2(4, 4) + +[sub_resource type="CircleShape2D" id="CircleShape2D_yu2c6"] +radius = 1.0 + +[node name="ShrapnelProjectile" type="CharacterBody2D"] +motion_mode = 1 +script = ExtResource("1_yu2c6") +damage = 2 +speed = 500 +max_distance = 120 +metadata/_custom_type_script = "uid://ctmjb3nkxrepu" + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = SubResource("PlaceholderTexture2D_yu2c6") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_yu2c6") diff --git a/game/entities/weapons/tesla/tesla.gd b/game/entities/weapons/tesla/tesla.gd new file mode 100644 index 0000000..a3c01cf --- /dev/null +++ b/game/entities/weapons/tesla/tesla.gd @@ -0,0 +1,12 @@ +extends AbstractWeapon + + +@onready var sprite := $Sprite2D + + +func _ready() -> void: + var texture := PlaceholderTexture2D.new() + texture.size = Vector2(10, 7) + sprite.texture = texture + + super._ready() diff --git a/game/entities/weapons/tesla/tesla.gd.uid b/game/entities/weapons/tesla/tesla.gd.uid new file mode 100644 index 0000000..13d7530 --- /dev/null +++ b/game/entities/weapons/tesla/tesla.gd.uid @@ -0,0 +1 @@ +uid://ctv408wdwvttc diff --git a/game/entities/weapons/tesla/tesla.tscn b/game/entities/weapons/tesla/tesla.tscn new file mode 100644 index 0000000..bf7d189 --- /dev/null +++ b/game/entities/weapons/tesla/tesla.tscn @@ -0,0 +1,28 @@ +[gd_scene load_steps=8 format=3 uid="uid://dpwdl7kcf0sng"] + +[ext_resource type="Script" uid="uid://ctv408wdwvttc" path="res://game/entities/weapons/tesla/tesla.gd" id="1_rpud7"] +[ext_resource type="PackedScene" uid="uid://dmvxynbo5bpyw" path="res://game/entities/weapons/tesla/tesla_projectile.tscn" id="2_1rrdy"] +[ext_resource type="Script" uid="uid://ccpriilfr3kme" path="res://game/reloaders/abstract_reloader.gd" id="3_08si3"] +[ext_resource type="Script" uid="uid://b255rb32vc6co" path="res://game/reloaders/firerate_reloader.gd" id="4_rqarv"] +[ext_resource type="Script" uid="uid://dxk56xdihfw4m" path="res://game/reloaders/energy_reloader.gd" id="5_j5i31"] + +[sub_resource type="Resource" id="Resource_jo1m1"] +script = ExtResource("4_rqarv") +firerate = 45 +metadata/_custom_type_script = "uid://b255rb32vc6co" + +[sub_resource type="Resource" id="Resource_7s0el"] +script = ExtResource("5_j5i31") +heat_per_shot = 150 +heat_capacity = 1000 +cooling_down_rate = 2500 +metadata/_custom_type_script = "uid://dxk56xdihfw4m" + +[node name="Tesla" type="Node2D"] +script = ExtResource("1_rpud7") +sector_angle = 180 +Projectile = ExtResource("2_1rrdy") +reloaders = Array[ExtResource("3_08si3")]([SubResource("Resource_jo1m1"), SubResource("Resource_7s0el")]) +metadata/_custom_type_script = "uid://dpqxs8hlql2o0" + +[node name="Sprite2D" type="Sprite2D" parent="."] diff --git a/game/entities/weapons/tesla/tesla_projectile.gd b/game/entities/weapons/tesla/tesla_projectile.gd new file mode 100644 index 0000000..f4d8c80 --- /dev/null +++ b/game/entities/weapons/tesla/tesla_projectile.gd @@ -0,0 +1 @@ +extends AbstractProjectile diff --git a/game/entities/weapons/tesla/tesla_projectile.gd.uid b/game/entities/weapons/tesla/tesla_projectile.gd.uid new file mode 100644 index 0000000..f7febfa --- /dev/null +++ b/game/entities/weapons/tesla/tesla_projectile.gd.uid @@ -0,0 +1 @@ +uid://bxcoa2eps0tt1 diff --git a/game/entities/weapons/tesla/tesla_projectile.tscn b/game/entities/weapons/tesla/tesla_projectile.tscn new file mode 100644 index 0000000..c29a6d5 --- /dev/null +++ b/game/entities/weapons/tesla/tesla_projectile.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=3 uid="uid://dmvxynbo5bpyw"] + +[ext_resource type="Script" uid="uid://bxcoa2eps0tt1" path="res://game/entities/weapons/tesla/tesla_projectile.gd" id="1_1oexk"] + +[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_1oexk"] +size = Vector2(12, 12) + +[sub_resource type="CircleShape2D" id="CircleShape2D_1oexk"] +radius = 5.0 + +[node name="TeslaProjectile" type="CharacterBody2D"] +motion_mode = 1 +script = ExtResource("1_1oexk") +damage = 45 +speed = 900 +metadata/_custom_type_script = "uid://ctmjb3nkxrepu" + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = SubResource("PlaceholderTexture2D_1oexk") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_1oexk") diff --git a/game/entities/weapons/reloaders/abstract_reloader.gd b/game/reloaders/abstract_reloader.gd similarity index 100% rename from game/entities/weapons/reloaders/abstract_reloader.gd rename to game/reloaders/abstract_reloader.gd diff --git a/game/entities/weapons/reloaders/abstract_reloader.gd.uid b/game/reloaders/abstract_reloader.gd.uid similarity index 100% rename from game/entities/weapons/reloaders/abstract_reloader.gd.uid rename to game/reloaders/abstract_reloader.gd.uid diff --git a/game/entities/weapons/reloaders/energy_reloader.gd b/game/reloaders/energy_reloader.gd similarity index 100% rename from game/entities/weapons/reloaders/energy_reloader.gd rename to game/reloaders/energy_reloader.gd diff --git a/game/entities/weapons/reloaders/energy_reloader.gd.uid b/game/reloaders/energy_reloader.gd.uid similarity index 100% rename from game/entities/weapons/reloaders/energy_reloader.gd.uid rename to game/reloaders/energy_reloader.gd.uid diff --git a/game/entities/weapons/reloaders/firerate_reloader.gd b/game/reloaders/firerate_reloader.gd similarity index 100% rename from game/entities/weapons/reloaders/firerate_reloader.gd rename to game/reloaders/firerate_reloader.gd diff --git a/game/entities/weapons/reloaders/firerate_reloader.gd.uid b/game/reloaders/firerate_reloader.gd.uid similarity index 100% rename from game/entities/weapons/reloaders/firerate_reloader.gd.uid rename to game/reloaders/firerate_reloader.gd.uid diff --git a/game/entities/weapons/reloaders/gatling_reloader.gd b/game/reloaders/gatling_reloader.gd similarity index 100% rename from game/entities/weapons/reloaders/gatling_reloader.gd rename to game/reloaders/gatling_reloader.gd diff --git a/game/entities/weapons/reloaders/gatling_reloader.gd.uid b/game/reloaders/gatling_reloader.gd.uid similarity index 100% rename from game/entities/weapons/reloaders/gatling_reloader.gd.uid rename to game/reloaders/gatling_reloader.gd.uid diff --git a/game/entities/weapons/reloaders/magazine_reloader.gd b/game/reloaders/magazine_reloader.gd similarity index 100% rename from game/entities/weapons/reloaders/magazine_reloader.gd rename to game/reloaders/magazine_reloader.gd diff --git a/game/entities/weapons/reloaders/magazine_reloader.gd.uid b/game/reloaders/magazine_reloader.gd.uid similarity index 100% rename from game/entities/weapons/reloaders/magazine_reloader.gd.uid rename to game/reloaders/magazine_reloader.gd.uid