Added gatling gun and railgun

This commit is contained in:
2025-11-04 20:03:17 +03:00
parent 832db6f531
commit ce6b93a7bf
26 changed files with 207 additions and 106 deletions
@@ -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()
@@ -0,0 +1 @@
uid://c1bsvmj7xhnxe
@@ -0,0 +1,26 @@
[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://b255rb32vc6co" path="res://game/entities/weapons/reloaders/firerate_reloader.gd" id="4_uk8wm"]
[ext_resource type="Script" uid="uid://d2gfhnlbqxsoq" path="res://game/entities/weapons/reloaders/magazine_reloader.gd" id="5_376q2"]
[sub_resource type="Resource" id="Resource_83oj5"]
script = ExtResource("4_uk8wm")
firerate = 600
metadata/_custom_type_script = "uid://b255rb32vc6co"
[sub_resource type="Resource" id="Resource_6px3v"]
script = ExtResource("5_376q2")
magazine_size = 300
reload_time = 2
metadata/_custom_type_script = "uid://d2gfhnlbqxsoq"
[node name="GatlingGun" type="Node2D"]
script = ExtResource("1_irb3o")
Projectile = ExtResource("2_kifyy")
reloaders = Array[ExtResource("3_lpe3m")]([SubResource("Resource_83oj5"), SubResource("Resource_6px3v")])
metadata/_custom_type_script = "uid://dpqxs8hlql2o0"
[node name="Sprite2D" type="Sprite2D" parent="."]
@@ -0,0 +1,9 @@
extends AbstractProjectile
func _ready() -> void:
var texture := PlaceholderTexture2D.new()
texture.size = Vector2(4, 4)
$Sprite2D.texture = texture
super._ready()
@@ -0,0 +1 @@
uid://rtsf1n0djorp
@@ -0,0 +1,24 @@
[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"]
[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_xq7oi"]
size = Vector2(4, 4)
[sub_resource type="CircleShape2D" id="CircleShape2D_xq7oi"]
radius = 1.0
[node name="GatlingProjectile" type="CharacterBody2D"]
collision_layer = 0
collision_mask = 0
motion_mode = 1
script = ExtResource("1_xq7oi")
damage = 6
speed = 600
metadata/_custom_type_script = "uid://ctmjb3nkxrepu"
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = SubResource("PlaceholderTexture2D_xq7oi")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("CircleShape2D_xq7oi")