Reworked other weapons
This commit is contained in:
@@ -32,17 +32,23 @@ signal destroyed
|
|||||||
@export_range(0, 1000) var mass : int = 0
|
@export_range(0, 1000) var mass : int = 0
|
||||||
|
|
||||||
@export_range(0, 360) var weapon_rotation : int = 0
|
@export_range(0, 360) var weapon_rotation : int = 0
|
||||||
@export var weapon_positions: Array[Vector2]
|
|
||||||
|
|
||||||
|
var weapon_positions: Array[Vector2]
|
||||||
|
|
||||||
|
|
||||||
var _weapons : Array[AbstractWeapon]
|
var _weapons : Array[AbstractWeapon]
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
|
for slot in $WeaponSlots.get_children():
|
||||||
|
if slot is Node2D:
|
||||||
|
weapon_positions.append(slot.global_position - global_position)
|
||||||
|
|
||||||
for pos in weapon_positions:
|
for pos in weapon_positions:
|
||||||
var weapon : AbstractWeapon = WEAPONS.pick_random().instantiate()
|
var weapon : AbstractWeapon = WEAPONS.pick_random().instantiate()
|
||||||
weapon.position = pos
|
weapon.position = pos
|
||||||
weapon.rotation = deg_to_rad(weapon_rotation)
|
weapon.rotation_degrees = weapon_rotation
|
||||||
add_child(weapon)
|
add_child(weapon)
|
||||||
_weapons.append(weapon)
|
_weapons.append(weapon)
|
||||||
|
|
||||||
|
|||||||
@@ -22,4 +22,6 @@ shape = SubResource("CircleShape2D_xxtvk")
|
|||||||
[node name="HeathBar" parent="." node_paths=PackedStringArray("health") instance=ExtResource("3_l62e5")]
|
[node name="HeathBar" parent="." node_paths=PackedStringArray("health") instance=ExtResource("3_l62e5")]
|
||||||
health = NodePath("../Health")
|
health = NodePath("../Health")
|
||||||
|
|
||||||
|
[node name="WeaponSlots" type="Node2D" parent="."]
|
||||||
|
|
||||||
[connection signal="depleted" from="Health" to="." method="_on_health_depleted"]
|
[connection signal="depleted" from="Health" to="." method="_on_health_depleted"]
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ acceleration = 30
|
|||||||
deceleration = 18
|
deceleration = 18
|
||||||
max_speed = 60
|
max_speed = 60
|
||||||
mass = 600
|
mass = 600
|
||||||
weapon_positions = Array[Vector2]([Vector2(0, 16), Vector2(0, 0), Vector2(0, -16)])
|
|
||||||
|
|
||||||
[node name="Sprite2D" parent="." index="0"]
|
[node name="Sprite2D" parent="." index="0"]
|
||||||
texture = SubResource("PlaceholderTexture2D_cuapu")
|
texture = SubResource("PlaceholderTexture2D_cuapu")
|
||||||
@@ -34,3 +33,11 @@ offset_bottom = 30.0
|
|||||||
|
|
||||||
[node name="VisibleOnScreenNotifier2D" parent="." index="5"]
|
[node name="VisibleOnScreenNotifier2D" parent="." index="5"]
|
||||||
rect = Rect2(-29, -21, 58, 42)
|
rect = Rect2(-29, -21, 58, 42)
|
||||||
|
|
||||||
|
[node name="First" type="Node2D" parent="WeaponSlots" index="0"]
|
||||||
|
position = Vector2(0, -13)
|
||||||
|
|
||||||
|
[node name="Second" type="Node2D" parent="WeaponSlots" index="1"]
|
||||||
|
|
||||||
|
[node name="Third" type="Node2D" parent="WeaponSlots" index="2"]
|
||||||
|
position = Vector2(0, 13)
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ acceleration = 92
|
|||||||
deceleration = 46
|
deceleration = 46
|
||||||
max_speed = 92
|
max_speed = 92
|
||||||
mass = 250
|
mass = 250
|
||||||
weapon_positions = Array[Vector2]([Vector2(0, 10), Vector2(0, -10)])
|
|
||||||
|
|
||||||
[node name="Sprite2D" parent="." index="0"]
|
[node name="Sprite2D" parent="." index="0"]
|
||||||
texture = SubResource("PlaceholderTexture2D_4jmkv")
|
texture = SubResource("PlaceholderTexture2D_4jmkv")
|
||||||
@@ -33,3 +32,9 @@ offset_bottom = 30.0
|
|||||||
|
|
||||||
[node name="VisibleOnScreenNotifier2D" parent="." index="5"]
|
[node name="VisibleOnScreenNotifier2D" parent="." index="5"]
|
||||||
rect = Rect2(-13, -21, 26, 42)
|
rect = Rect2(-13, -21, 26, 42)
|
||||||
|
|
||||||
|
[node name="First" type="Node2D" parent="WeaponSlots" index="0"]
|
||||||
|
position = Vector2(0, -10)
|
||||||
|
|
||||||
|
[node name="Second" type="Node2D" parent="WeaponSlots" index="1"]
|
||||||
|
position = Vector2(0, 10)
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ acceleration = 180
|
|||||||
deceleration = 80
|
deceleration = 80
|
||||||
max_speed = 120
|
max_speed = 120
|
||||||
mass = 100
|
mass = 100
|
||||||
weapon_positions = Array[Vector2]([Vector2(0, 0)])
|
|
||||||
|
|
||||||
[node name="Sprite2D" parent="." index="0"]
|
[node name="Sprite2D" parent="." index="0"]
|
||||||
texture = SubResource("PlaceholderTexture2D_bw04d")
|
texture = SubResource("PlaceholderTexture2D_bw04d")
|
||||||
@@ -33,3 +32,6 @@ offset_bottom = 14.0
|
|||||||
|
|
||||||
[node name="VisibleOnScreenNotifier2D" parent="." index="5"]
|
[node name="VisibleOnScreenNotifier2D" parent="." index="5"]
|
||||||
rect = Rect2(-13, -5, 26, 10)
|
rect = Rect2(-13, -5, 26, 10)
|
||||||
|
|
||||||
|
[node name="First" type="Node2D" parent="WeaponSlots" index="0"]
|
||||||
|
position = Vector2(6, 0)
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ acceleration = 92
|
|||||||
deceleration = 46
|
deceleration = 46
|
||||||
max_speed = 92
|
max_speed = 92
|
||||||
mass = 250
|
mass = 250
|
||||||
weapon_positions = Array[Vector2]([Vector2(-2, 18), Vector2(-2, -18)])
|
weapon_rotation = null
|
||||||
|
|
||||||
[node name="Sprite2D" parent="." index="0"]
|
[node name="Sprite2D" parent="." index="0"]
|
||||||
texture = ExtResource("3_uf2n1")
|
texture = ExtResource("3_uf2n1")
|
||||||
@@ -35,5 +35,11 @@ offset_bottom = 22.0
|
|||||||
|
|
||||||
[node name="PlayerController" parent="." index="4" instance=ExtResource("3_4mjo1")]
|
[node name="PlayerController" parent="." index="4" instance=ExtResource("3_4mjo1")]
|
||||||
|
|
||||||
|
[node name="First" type="Node2D" parent="WeaponSlots" index="0"]
|
||||||
|
position = Vector2(-2, 8)
|
||||||
|
|
||||||
|
[node name="Second" type="Node2D" parent="WeaponSlots" index="1"]
|
||||||
|
position = Vector2(-2, -8)
|
||||||
|
|
||||||
[connection signal="accelerate" from="PlayerController" to="." method="accelerate"]
|
[connection signal="accelerate" from="PlayerController" to="." method="accelerate"]
|
||||||
[connection signal="shoot" from="PlayerController" to="." method="_on_player_controller_shoot"]
|
[connection signal="shoot" from="PlayerController" to="." method="_on_player_controller_shoot"]
|
||||||
|
|||||||
@@ -13,6 +13,9 @@ enum Type { SHORT_RANGE, MEDIUM_RANGE, LONG_RANGE, HOMING, MINES }
|
|||||||
@export var type := Type.MEDIUM_RANGE
|
@export var type := Type.MEDIUM_RANGE
|
||||||
|
|
||||||
|
|
||||||
|
@onready var muzzle : Node2D = $Muzzle
|
||||||
|
|
||||||
|
|
||||||
const PREFIXES := {
|
const PREFIXES := {
|
||||||
Belonging.PLAYER: "player",
|
Belonging.PLAYER: "player",
|
||||||
Belonging.ENEMY: "enemy",
|
Belonging.ENEMY: "enemy",
|
||||||
@@ -46,7 +49,7 @@ func shoot(ship_velocity: Vector2) -> bool:
|
|||||||
|
|
||||||
|
|
||||||
func _get_projectile_position() -> Vector2:
|
func _get_projectile_position() -> Vector2:
|
||||||
return Vector2.ZERO
|
return muzzle.global_position - global_position
|
||||||
|
|
||||||
|
|
||||||
func _create_projectile(ship_velocity: Vector2) -> AbstractProjectile:
|
func _create_projectile(ship_velocity: Vector2) -> AbstractProjectile:
|
||||||
|
|||||||
@@ -5,3 +5,5 @@
|
|||||||
[node name="AbstractWeapon" type="Node2D"]
|
[node name="AbstractWeapon" type="Node2D"]
|
||||||
z_index = 2
|
z_index = 2
|
||||||
script = ExtResource("1_x30ps")
|
script = ExtResource("1_x30ps")
|
||||||
|
|
||||||
|
[node name="Muzzle" type="Node2D" parent="."]
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ extends AbstractWeapon
|
|||||||
@onready var right_particles : GPUParticles2D = $ShotParticles/Right
|
@onready var right_particles : GPUParticles2D = $ShotParticles/Right
|
||||||
@onready var shell_particles : GPUParticles2D = $ShellParticles
|
@onready var shell_particles : GPUParticles2D = $ShellParticles
|
||||||
@onready var cooldown_timer : Timer = $CooldownTimer
|
@onready var cooldown_timer : Timer = $CooldownTimer
|
||||||
@onready var muzzle : Node2D = $Muzzle
|
|
||||||
|
|
||||||
|
|
||||||
func set_belonging(belonging: Belonging) -> void:
|
func set_belonging(belonging: Belonging) -> void:
|
||||||
@@ -27,10 +26,6 @@ func shoot(ship_velocity: Vector2) -> bool:
|
|||||||
return is_shot
|
return is_shot
|
||||||
|
|
||||||
|
|
||||||
func _get_projectile_position() -> Vector2:
|
|
||||||
return muzzle.position
|
|
||||||
|
|
||||||
|
|
||||||
func _restart_particles() -> void:
|
func _restart_particles() -> void:
|
||||||
front_particles.restart()
|
front_particles.restart()
|
||||||
left_particles.restart()
|
left_particles.restart()
|
||||||
|
|||||||
@@ -211,7 +211,7 @@ process_material = SubResource("ParticleProcessMaterial_nrbut")
|
|||||||
wait_time = 1.2
|
wait_time = 1.2
|
||||||
one_shot = true
|
one_shot = true
|
||||||
|
|
||||||
[node name="Muzzle" type="Node2D" parent="." index="4"]
|
[node name="Muzzle" parent="." index="4"]
|
||||||
position = Vector2(20, 0)
|
position = Vector2(20, 0)
|
||||||
|
|
||||||
[connection signal="animation_finished" from="AnimatedSprite2D" to="." method="_on_animated_sprite_2d_animation_finished"]
|
[connection signal="animation_finished" from="AnimatedSprite2D" to="." method="_on_animated_sprite_2d_animation_finished"]
|
||||||
|
|||||||
@@ -49,3 +49,6 @@ Projectile = ExtResource("2_ylc0n")
|
|||||||
position = Vector2(6, 0)
|
position = Vector2(6, 0)
|
||||||
sprite_frames = SubResource("SpriteFrames_pjn33")
|
sprite_frames = SubResource("SpriteFrames_pjn33")
|
||||||
animation = &"player_idle"
|
animation = &"player_idle"
|
||||||
|
|
||||||
|
[node name="Muzzle" parent="." index="1"]
|
||||||
|
position = Vector2(14, 0)
|
||||||
|
|||||||
@@ -6,12 +6,12 @@ extends AbstractWeapon
|
|||||||
@onready var cooldown_timer : Timer = $CooldownTimer
|
@onready var cooldown_timer : Timer = $CooldownTimer
|
||||||
|
|
||||||
@onready var particles : Array[GPUParticles2D] = [
|
@onready var particles : Array[GPUParticles2D] = [
|
||||||
$RightParticles, $LeftParticles,
|
$LeftParticles, $RightParticles,
|
||||||
]
|
]
|
||||||
var _particles_index := 0
|
var _particles_index := 0
|
||||||
|
|
||||||
@onready var muzzles : Array[Node2D] = [
|
@onready var muzzles : Array[Node2D] = [
|
||||||
$RightMuzzle, $LeftMuzzle,
|
$Muzzle, $SecondMuzzle,
|
||||||
]
|
]
|
||||||
var _muzzle_index := 0
|
var _muzzle_index := 0
|
||||||
|
|
||||||
@@ -48,7 +48,7 @@ func _restart_particles() -> void:
|
|||||||
|
|
||||||
|
|
||||||
func _get_projectile_position() -> Vector2:
|
func _get_projectile_position() -> Vector2:
|
||||||
var projectile_position := muzzles[_muzzle_index].position
|
var projectile_position := muzzles[_muzzle_index].global_position - global_position
|
||||||
_muzzle_index += 1
|
_muzzle_index += 1
|
||||||
if _muzzle_index >= muzzles.size():
|
if _muzzle_index >= muzzles.size():
|
||||||
_muzzle_index = 0
|
_muzzle_index = 0
|
||||||
|
|||||||
@@ -78,10 +78,10 @@ texture = SubResource("AtlasTexture_ylgjm")
|
|||||||
wait_time = 0.5
|
wait_time = 0.5
|
||||||
one_shot = true
|
one_shot = true
|
||||||
|
|
||||||
[node name="LeftMuzzle" type="Node2D" parent="." index="5"]
|
[node name="Muzzle" parent="." index="5"]
|
||||||
position = Vector2(12, -3)
|
position = Vector2(11, -3)
|
||||||
|
|
||||||
[node name="RightMuzzle" type="Node2D" parent="." index="6"]
|
[node name="SecondMuzzle" type="Node2D" parent="." index="6"]
|
||||||
position = Vector2(12, 3)
|
position = Vector2(11, 3)
|
||||||
|
|
||||||
[connection signal="timeout" from="CooldownTimer" to="." method="_on_cooldown_timer_timeout"]
|
[connection signal="timeout" from="CooldownTimer" to="." method="_on_cooldown_timer_timeout"]
|
||||||
|
|||||||
@@ -119,6 +119,7 @@ Projectile = ExtResource("2_7y446")
|
|||||||
type = 4
|
type = 4
|
||||||
|
|
||||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." index="0"]
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." index="0"]
|
||||||
|
position = Vector2(-7, 0)
|
||||||
sprite_frames = SubResource("SpriteFrames_wwpdh")
|
sprite_frames = SubResource("SpriteFrames_wwpdh")
|
||||||
animation = &"player_shot"
|
animation = &"player_shot"
|
||||||
|
|
||||||
|
|||||||
@@ -21,18 +21,6 @@ func shoot(ship_velocity: Vector2) -> bool:
|
|||||||
return is_shot
|
return is_shot
|
||||||
|
|
||||||
|
|
||||||
func _get_projectile_position() -> Vector2:
|
|
||||||
var projectile_position : Vector2
|
|
||||||
|
|
||||||
match _belonging:
|
|
||||||
Belonging.PLAYER:
|
|
||||||
projectile_position = Vector2(-5, 2)
|
|
||||||
Belonging.ENEMY:
|
|
||||||
projectile_position = Vector2(5, -2)
|
|
||||||
|
|
||||||
return projectile_position
|
|
||||||
|
|
||||||
|
|
||||||
func _on_animated_sprite_2d_animation_finished() -> void:
|
func _on_animated_sprite_2d_animation_finished() -> void:
|
||||||
sprite.play(PREFIXES[_belonging] + RELOAD_POSTFIX)
|
sprite.play(PREFIXES[_belonging] + RELOAD_POSTFIX)
|
||||||
|
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ sector_angle = 2
|
|||||||
Projectile = ExtResource("2_yluvp")
|
Projectile = ExtResource("2_yluvp")
|
||||||
|
|
||||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." index="0"]
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." index="0"]
|
||||||
|
position = Vector2(8, 0)
|
||||||
sprite_frames = SubResource("SpriteFrames_hyw35")
|
sprite_frames = SubResource("SpriteFrames_hyw35")
|
||||||
animation = &"player_reloading"
|
animation = &"player_reloading"
|
||||||
|
|
||||||
@@ -109,5 +110,8 @@ process_callback = 0
|
|||||||
wait_time = 0.4
|
wait_time = 0.4
|
||||||
one_shot = true
|
one_shot = true
|
||||||
|
|
||||||
|
[node name="Muzzle" parent="." index="2"]
|
||||||
|
position = Vector2(9, 2)
|
||||||
|
|
||||||
[connection signal="animation_finished" from="AnimatedSprite2D" to="." method="_on_animated_sprite_2d_animation_finished"]
|
[connection signal="animation_finished" from="AnimatedSprite2D" to="." method="_on_animated_sprite_2d_animation_finished"]
|
||||||
[connection signal="timeout" from="CooldownTimer" to="." method="_on_cooldown_timer_timeout"]
|
[connection signal="timeout" from="CooldownTimer" to="." method="_on_cooldown_timer_timeout"]
|
||||||
|
|||||||
@@ -1,13 +1,10 @@
|
|||||||
[gd_scene load_steps=23 format=3 uid="uid://do6h77gmnreho"]
|
[gd_scene load_steps=22 format=3 uid="uid://do6h77gmnreho"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://1o2ta17yc5bp" path="res://game/entities/weapons/abstract_weapon.tscn" id="1_0nxvu"]
|
[ext_resource type="PackedScene" uid="uid://1o2ta17yc5bp" path="res://game/entities/weapons/abstract_weapon.tscn" id="1_0nxvu"]
|
||||||
[ext_resource type="Script" uid="uid://drnofu4ium56e" path="res://game/entities/weapons/railgun/railgun_weapon.gd" id="1_5nhwg"]
|
[ext_resource type="Script" uid="uid://drnofu4ium56e" path="res://game/entities/weapons/railgun/railgun_weapon.gd" id="1_5nhwg"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bab3bopsw74cb" path="res://game/entities/weapons/railgun/railgun_projectile.tscn" id="2_cbsia"]
|
[ext_resource type="PackedScene" uid="uid://bab3bopsw74cb" path="res://game/entities/weapons/railgun/railgun_projectile.tscn" id="2_cbsia"]
|
||||||
[ext_resource type="Texture2D" uid="uid://6hh66k8s4a1e" path="res://images/weapons.png" id="4_qxcog"]
|
[ext_resource type="Texture2D" uid="uid://6hh66k8s4a1e" path="res://images/weapons.png" id="4_qxcog"]
|
||||||
|
|
||||||
[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_dra6h"]
|
|
||||||
size = Vector2(10, 7)
|
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_qxcog"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_qxcog"]
|
||||||
atlas = ExtResource("4_qxcog")
|
atlas = ExtResource("4_qxcog")
|
||||||
region = Rect2(0, 112, 32, 16)
|
region = Rect2(0, 112, 32, 16)
|
||||||
@@ -159,11 +156,12 @@ script = ExtResource("1_5nhwg")
|
|||||||
Projectile = ExtResource("2_cbsia")
|
Projectile = ExtResource("2_cbsia")
|
||||||
type = 2
|
type = 2
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D" parent="." index="0"]
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." index="0"]
|
||||||
texture = SubResource("PlaceholderTexture2D_dra6h")
|
position = Vector2(5, 0)
|
||||||
|
|
||||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." index="1"]
|
|
||||||
sprite_frames = SubResource("SpriteFrames_caa1b")
|
sprite_frames = SubResource("SpriteFrames_caa1b")
|
||||||
animation = &"enemy_reloading"
|
animation = &"enemy_reloading"
|
||||||
|
|
||||||
|
[node name="Muzzle" parent="." index="1"]
|
||||||
|
position = Vector2(11, 0)
|
||||||
|
|
||||||
[connection signal="animation_finished" from="AnimatedSprite2D" to="." method="_on_animated_sprite_2d_animation_finished"]
|
[connection signal="animation_finished" from="AnimatedSprite2D" to="." method="_on_animated_sprite_2d_animation_finished"]
|
||||||
|
|||||||
@@ -10,8 +10,6 @@ extends AbstractWeapon
|
|||||||
func set_belonging(belonging: Belonging) -> void:
|
func set_belonging(belonging: Belonging) -> void:
|
||||||
super.set_belonging(belonging)
|
super.set_belonging(belonging)
|
||||||
|
|
||||||
_init_particles()
|
|
||||||
|
|
||||||
sprite.play(PREFIXES[_belonging] + IDLE_POSTFIX)
|
sprite.play(PREFIXES[_belonging] + IDLE_POSTFIX)
|
||||||
|
|
||||||
|
|
||||||
@@ -26,29 +24,6 @@ func shoot(ship_velocity: Vector2) -> bool:
|
|||||||
return is_shot
|
return is_shot
|
||||||
|
|
||||||
|
|
||||||
func _init_particles() -> void:
|
|
||||||
const SHOT_OFFSET_X = 11
|
|
||||||
const SHELL_OFFSET_X = -8
|
|
||||||
const SHELL_OFFSET_Y = 1
|
|
||||||
|
|
||||||
|
|
||||||
match _belonging:
|
|
||||||
Belonging.PLAYER:
|
|
||||||
shot_particles.process_material.emission_shape_offset.x = SHOT_OFFSET_X
|
|
||||||
shot_particles.process_material.direction = Vector3.RIGHT
|
|
||||||
|
|
||||||
shell_particles.process_material.emission_shape_offset.x = SHELL_OFFSET_X
|
|
||||||
shell_particles.process_material.emission_shape_offset.y = SHELL_OFFSET_Y
|
|
||||||
shell_particles.process_material.direction = Vector3.UP
|
|
||||||
Belonging.ENEMY:
|
|
||||||
shot_particles.process_material.emission_shape_offset.x = -SHOT_OFFSET_X
|
|
||||||
shot_particles.process_material.direction = Vector3.LEFT
|
|
||||||
|
|
||||||
shell_particles.process_material.emission_shape_offset.x = -SHELL_OFFSET_X
|
|
||||||
shell_particles.process_material.emission_shape_offset.y = -SHELL_OFFSET_Y
|
|
||||||
shell_particles.process_material.direction = Vector3.DOWN
|
|
||||||
|
|
||||||
|
|
||||||
func _restart_particles() -> void:
|
func _restart_particles() -> void:
|
||||||
shot_particles.restart()
|
shot_particles.restart()
|
||||||
shell_particles.restart()
|
shell_particles.restart()
|
||||||
|
|||||||
@@ -104,9 +104,10 @@ animations = [{
|
|||||||
resource_local_to_scene = true
|
resource_local_to_scene = true
|
||||||
particle_flag_disable_z = true
|
particle_flag_disable_z = true
|
||||||
inherit_velocity_ratio = 1.0
|
inherit_velocity_ratio = 1.0
|
||||||
|
direction = Vector3(0, 1, 0)
|
||||||
spread = 15.0
|
spread = 15.0
|
||||||
initial_velocity_min = 15.0
|
initial_velocity_min = 15.0
|
||||||
initial_velocity_max = 50.0
|
initial_velocity_max = 25.0
|
||||||
gravity = Vector3(0, 0, 0)
|
gravity = Vector3(0, 0, 0)
|
||||||
|
|
||||||
[node name="ShrapnelWeapon" instance=ExtResource("1_xk300")]
|
[node name="ShrapnelWeapon" instance=ExtResource("1_xk300")]
|
||||||
@@ -117,6 +118,7 @@ Projectile = ExtResource("2_xvd4y")
|
|||||||
type = 0
|
type = 0
|
||||||
|
|
||||||
[node name="ShotParticles" type="GPUParticles2D" parent="." index="0"]
|
[node name="ShotParticles" type="GPUParticles2D" parent="." index="0"]
|
||||||
|
position = Vector2(17, 0)
|
||||||
emitting = false
|
emitting = false
|
||||||
amount = 32
|
amount = 32
|
||||||
texture = ExtResource("4_0tw2i")
|
texture = ExtResource("4_0tw2i")
|
||||||
@@ -125,6 +127,7 @@ one_shot = true
|
|||||||
process_material = SubResource("ParticleProcessMaterial_a22j7")
|
process_material = SubResource("ParticleProcessMaterial_a22j7")
|
||||||
|
|
||||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." index="1"]
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." index="1"]
|
||||||
|
position = Vector2(7, 0)
|
||||||
sprite_frames = SubResource("SpriteFrames_he4pe")
|
sprite_frames = SubResource("SpriteFrames_he4pe")
|
||||||
animation = &"player_shot"
|
animation = &"player_shot"
|
||||||
|
|
||||||
@@ -134,6 +137,7 @@ one_shot = true
|
|||||||
|
|
||||||
[node name="ShellParticles" type="GPUParticles2D" parent="." index="3"]
|
[node name="ShellParticles" type="GPUParticles2D" parent="." index="3"]
|
||||||
z_index = 1
|
z_index = 1
|
||||||
|
position = Vector2(-1, 1)
|
||||||
emitting = false
|
emitting = false
|
||||||
amount = 1
|
amount = 1
|
||||||
texture = ExtResource("6_gdolk")
|
texture = ExtResource("6_gdolk")
|
||||||
@@ -141,5 +145,8 @@ lifetime = 2.0
|
|||||||
one_shot = true
|
one_shot = true
|
||||||
process_material = SubResource("ParticleProcessMaterial_t57yr")
|
process_material = SubResource("ParticleProcessMaterial_t57yr")
|
||||||
|
|
||||||
|
[node name="Muzzle" parent="." index="4"]
|
||||||
|
position = Vector2(14, 0)
|
||||||
|
|
||||||
[connection signal="animation_finished" from="AnimatedSprite2D" to="." method="_on_animated_sprite_2d_animation_finished"]
|
[connection signal="animation_finished" from="AnimatedSprite2D" to="." method="_on_animated_sprite_2d_animation_finished"]
|
||||||
[connection signal="timeout" from="CooldownTimer" to="." method="_on_cooldown_timer_timeout"]
|
[connection signal="timeout" from="CooldownTimer" to="." method="_on_cooldown_timer_timeout"]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=25 format=3 uid="uid://dyebeblayioji"]
|
[gd_scene load_steps=24 format=3 uid="uid://dyebeblayioji"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://1o2ta17yc5bp" path="res://game/entities/weapons/abstract_weapon.tscn" id="1_rpud7"]
|
[ext_resource type="PackedScene" uid="uid://1o2ta17yc5bp" path="res://game/entities/weapons/abstract_weapon.tscn" id="1_rpud7"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bi64687wtxi4d" path="res://game/entities/weapons/tesla/tesla_projectile.tscn" id="2_1rrdy"]
|
[ext_resource type="PackedScene" uid="uid://bi64687wtxi4d" path="res://game/entities/weapons/tesla/tesla_projectile.tscn" id="2_1rrdy"]
|
||||||
@@ -6,9 +6,6 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://c6aixtu6lbfud" path="res://particle_textures/energy_small.tres" id="5_dhfvk"]
|
[ext_resource type="Texture2D" uid="uid://c6aixtu6lbfud" path="res://particle_textures/energy_small.tres" id="5_dhfvk"]
|
||||||
[ext_resource type="Texture2D" uid="uid://6hh66k8s4a1e" path="res://images/weapons.png" id="7_ub67s"]
|
[ext_resource type="Texture2D" uid="uid://6hh66k8s4a1e" path="res://images/weapons.png" id="7_ub67s"]
|
||||||
|
|
||||||
[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_dra6h"]
|
|
||||||
size = Vector2(10, 7)
|
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ucdpq"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_ucdpq"]
|
||||||
atlas = ExtResource("7_ub67s")
|
atlas = ExtResource("7_ub67s")
|
||||||
region = Rect2(0, 16, 32, 16)
|
region = Rect2(0, 16, 32, 16)
|
||||||
@@ -151,21 +148,18 @@ sector_angle = 10
|
|||||||
Projectile = ExtResource("2_1rrdy")
|
Projectile = ExtResource("2_1rrdy")
|
||||||
type = 3
|
type = 3
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D" parent="." index="0"]
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." index="0"]
|
||||||
texture = SubResource("PlaceholderTexture2D_dra6h")
|
|
||||||
|
|
||||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." index="1"]
|
|
||||||
sprite_frames = SubResource("SpriteFrames_ckvhw")
|
sprite_frames = SubResource("SpriteFrames_ckvhw")
|
||||||
animation = &"player_idle"
|
animation = &"player_idle"
|
||||||
|
|
||||||
[node name="GPUParticles2D" type="GPUParticles2D" parent="." index="2"]
|
[node name="GPUParticles2D" type="GPUParticles2D" parent="." index="1"]
|
||||||
amount = 16
|
amount = 16
|
||||||
texture = ExtResource("5_dhfvk")
|
texture = ExtResource("5_dhfvk")
|
||||||
lifetime = 0.1
|
lifetime = 0.1
|
||||||
fixed_fps = 10
|
fixed_fps = 10
|
||||||
process_material = SubResource("ParticleProcessMaterial_ifsj2")
|
process_material = SubResource("ParticleProcessMaterial_ifsj2")
|
||||||
|
|
||||||
[node name="CooldownTimer" type="Timer" parent="." index="3"]
|
[node name="CooldownTimer" type="Timer" parent="." index="2"]
|
||||||
wait_time = 1.3
|
wait_time = 1.3
|
||||||
one_shot = true
|
one_shot = true
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user