diff --git a/DungeonShooting_Godot/excel/excelFile/ActivityObject.xlsx b/DungeonShooting_Godot/excel/excelFile/ActivityObject.xlsx index f322a2c..8b0e0b8 100644 --- a/DungeonShooting_Godot/excel/excelFile/ActivityObject.xlsx +++ b/DungeonShooting_Godot/excel/excelFile/ActivityObject.xlsx Binary files differ diff --git a/DungeonShooting_Godot/excel/excelFile/Sound.xlsx b/DungeonShooting_Godot/excel/excelFile/Sound.xlsx index 8d51f17..603d0e4 100644 --- a/DungeonShooting_Godot/excel/excelFile/Sound.xlsx +++ b/DungeonShooting_Godot/excel/excelFile/Sound.xlsx Binary files differ diff --git a/DungeonShooting_Godot/excel/excelFile/Weapon.xlsx b/DungeonShooting_Godot/excel/excelFile/Weapon.xlsx index 1dc152e..27f6dfd 100644 --- a/DungeonShooting_Godot/excel/excelFile/Weapon.xlsx +++ b/DungeonShooting_Godot/excel/excelFile/Weapon.xlsx Binary files differ diff --git a/DungeonShooting_Godot/prefab/effect/BulletDisappear.tscn b/DungeonShooting_Godot/prefab/effect/BulletDisappear.tscn deleted file mode 100644 index 54549a1..0000000 --- a/DungeonShooting_Godot/prefab/effect/BulletDisappear.tscn +++ /dev/null @@ -1,145 +0,0 @@ -[gd_scene load_steps=15 format=3] - -[ext_resource type="Texture2D" uid="uid://d8ot2wrdoe4j" path="res://resource/sprite/effects/Explosion.png" id="1_qqm6c"] -[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/effects/Smoke.png" id="1_ybsvf"] - - -[sub_resource type="AtlasTexture" id="AtlasTexture_tscb3"] -atlas = ExtResource("1_qqm6c") -region = Rect2(0, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_l2nv6"] -atlas = ExtResource("1_qqm6c") -region = Rect2(16, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_5133m"] -atlas = ExtResource("1_qqm6c") -region = Rect2(32, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_41eg5"] -atlas = ExtResource("1_qqm6c") -region = Rect2(48, 0, 16, 16) - -[sub_resource type="SpriteFrames" id="SpriteFrames_ub3cw"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_tscb3") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_l2nv6") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_5133m") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_41eg5") -}], -"loop": false, -"name": &"default", -"speed": 13.0 -}] - -[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_4bd3q"] -particles_animation = true -particles_anim_h_frames = 3 -particles_anim_v_frames = 1 -particles_anim_loop = false - -[sub_resource type="Curve" id="Curve_86ye5"] -_data = [Vector2(0, 0.736364), 0.0, 0.0, 0, 0, Vector2(0.396825, 1), 0.0, 0.0, 0, 0, Vector2(0.990476, 0), 0.0, 0.0, 0, 0] -point_count = 3 - -[sub_resource type="CurveTexture" id="CurveTexture_j77i6"] -curve = SubResource("Curve_86ye5") - -[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_r1yeu"] -lifetime_randomness = 0.3 -particle_flag_disable_z = true -spread = 180.0 -gravity = Vector3(0, 0, 0) -initial_velocity_min = 45.0 -initial_velocity_max = 65.0 -orbit_velocity_min = 0.0 -orbit_velocity_max = 0.0 -angle_max = 360.0 -scale_min = 0.3 -scale_max = 0.6 -scale_curve = SubResource("CurveTexture_j77i6") -color = Color(0.909804, 0.909804, 0.909804, 0.380392) -anim_offset_max = 1.0 - -[sub_resource type="Animation" id="Animation_jnfgg"] -resource_name = "Start" -length = 0.3 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:emitting") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] -} -tracks/1/type = "method" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("..") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0.3), -"transitions": PackedFloat32Array(1), -"values": [{ -"args": [], -"method": &"queue_free" -}] -} - -[sub_resource type="Animation" id="Animation_yr61b"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:emitting") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_1spnw"] -_data = { -"RESET": SubResource("Animation_yr61b"), -"Start": SubResource("Animation_jnfgg") -} - -[node name="BulletDisappear" type="AnimatedSprite2D"] -modulate = Color(1, 1, 1, 0.784314) -z_index = -4 -scale = Vector2(0.5, 0.5) -sprite_frames = SubResource("SpriteFrames_ub3cw") -autoplay = "default" - -[node name="GPUParticles2D" type="GPUParticles2D" parent="."] -material = SubResource("CanvasItemMaterial_4bd3q") -emitting = false -process_material = SubResource("ParticleProcessMaterial_r1yeu") -texture = ExtResource("1_ybsvf") -lifetime = 0.3 -one_shot = true -explosiveness = 0.9 -fixed_fps = 20 - -[node name="AnimationPlayer" type="AnimationPlayer" parent="."] -root_node = NodePath("../GPUParticles2D") -autoplay = "Start" -libraries = { -"": SubResource("AnimationLibrary_1spnw") -} diff --git a/DungeonShooting_Godot/prefab/effect/BulletSmoke.tscn b/DungeonShooting_Godot/prefab/effect/BulletSmoke.tscn deleted file mode 100644 index 368fd26..0000000 --- a/DungeonShooting_Godot/prefab/effect/BulletSmoke.tscn +++ /dev/null @@ -1,145 +0,0 @@ -[gd_scene load_steps=9 format=3] - -[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/effects/Smoke.png" id="1"] -[ext_resource type="Texture2D" uid="uid://bs1lan5uwxyfg" path="res://resource/curve/Curve1.tres" id="1_8pe88"] -[ext_resource type="Texture2D" uid="uid://dwa4chrugc6b1" path="res://resource/sprite/effects/Collision.png" id="2"] - -[sub_resource type="CanvasItemMaterial" id="1"] -particles_animation = true -particles_anim_h_frames = 3 -particles_anim_v_frames = 1 -particles_anim_loop = false - -[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_gpp81"] -lifetime_randomness = 0.5 -particle_flag_disable_z = true -spread = 25.0 -gravity = Vector3(0, 0, 0) -initial_velocity_max = 90.0 -orbit_velocity_min = 0.0 -orbit_velocity_max = 0.0 -angle_max = 360.0 -scale_curve = ExtResource("1_8pe88") -color = Color(0.75, 0.75, 0.75, 0.470588) -anim_offset_max = 1.0 - -[sub_resource type="Animation" id="5"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:emitting") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [false] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Sprite2D:frame") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("Sprite2D:visible") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [true] -} - -[sub_resource type="Animation" id="6"] -resource_name = "Smoke" -step = 0.05 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:emitting") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] -} -tracks/1/type = "method" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath(".") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(1), -"transitions": PackedFloat32Array(1), -"values": [{ -"args": [], -"method": &"queue_free" -}] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("Sprite2D:frame") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0, 0.05, 0.1, 0.15), -"transitions": PackedFloat32Array(1, 1, 1, 1), -"update": 1, -"values": [0, 1, 2, 3] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("Sprite2D:visible") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 1, -"values": [true, false] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_uuiu7"] -_data = { -"RESET": SubResource("5"), -"Smoke": SubResource("6") -} - -[node name="BulletSmoke" type="GPUParticles2D"] -material = SubResource("1") -emitting = false -process_material = SubResource("ParticleProcessMaterial_gpp81") -texture = ExtResource("1") -lifetime = 0.4 -one_shot = true -explosiveness = 0.9 -fixed_fps = 20 - -[node name="Sprite2D" type="Sprite2D" parent="."] -modulate = Color(1.6, 1.6, 1.6, 1) -texture = ExtResource("2") -offset = Vector2(8, 0) -hframes = 4 - -[node name="AnimationPlayer" type="AnimationPlayer" parent="."] -autoplay = "Smoke" -libraries = { -"": SubResource("AnimationLibrary_uuiu7") -} diff --git a/DungeonShooting_Godot/prefab/effect/Effect1.tscn b/DungeonShooting_Godot/prefab/effect/Effect1.tscn deleted file mode 100644 index 4cd0ba7..0000000 --- a/DungeonShooting_Godot/prefab/effect/Effect1.tscn +++ /dev/null @@ -1,50 +0,0 @@ -[gd_scene load_steps=8 format=3] - -[ext_resource type="Material" uid="uid://c1chld6lkpgji" path="res://resource/material/SmokeParticleMaterial.tres" id="1_dxavj"] -[ext_resource type="Texture2D" uid="uid://bs1lan5uwxyfg" path="res://resource/curve/Curve1.tres" id="1_s60r7"] -[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/effects/Smoke.png" id="2_3kyig"] -[ext_resource type="Texture2D" uid="uid://csud4e6kc3iku" path="res://resource/sprite/effects/Effect1.png" id="3_1mceu"] -[ext_resource type="Script" path="res://src/game/effects/Effect1.cs" id="3_ax5u4"] - -[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_ipadv"] -particles_animation = true -particles_anim_h_frames = 3 -particles_anim_v_frames = 1 -particles_anim_loop = false - -[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_pgx85"] -particle_flag_align_y = true -particle_flag_disable_z = true -spread = 180.0 -gravity = Vector3(0, 0, 0) -initial_velocity_min = 40.0 -initial_velocity_max = 70.0 -orbit_velocity_min = 0.0 -orbit_velocity_max = 0.0 -scale_min = 0.2 -scale_max = 0.3 -scale_curve = ExtResource("1_s60r7") - -[node name="Effect1" type="GPUParticles2D"] -modulate = Color(0.760784, 0.760784, 0.760784, 0.533333) -z_index = 5 -material = SubResource("CanvasItemMaterial_ipadv") -emitting = false -amount = 10 -process_material = ExtResource("1_dxavj") -texture = ExtResource("2_3kyig") -lifetime = 0.7 -one_shot = true -explosiveness = 1.0 -fixed_fps = 20 -script = ExtResource("3_ax5u4") - -[node name="GPUParticles2D" type="GPUParticles2D" parent="."] -emitting = false -process_material = SubResource("ParticleProcessMaterial_pgx85") -texture = ExtResource("3_1mceu") -lifetime = 0.5 -one_shot = true -explosiveness = 1.0 -randomness = 0.5 -fixed_fps = 20 diff --git a/DungeonShooting_Godot/prefab/effect/FirePart.tscn b/DungeonShooting_Godot/prefab/effect/FirePart.tscn deleted file mode 100644 index 0d5c27f..0000000 --- a/DungeonShooting_Godot/prefab/effect/FirePart.tscn +++ /dev/null @@ -1,24 +0,0 @@ -[gd_scene load_steps=2 format=2] - -[sub_resource type="ParticleProcessMaterial" id=1] -flag_disable_z = true -spread = 60.0 -gravity = Vector3( 0, 0, 0 ) -initial_velocity = 200.0 -initial_velocity_random = 1.0 -orbit_velocity = 0.0 -orbit_velocity_random = 0.0 -linear_accel = -200.0 -linear_accel_random = 0.5 - -[node name="FirePart" type="GPUParticles2D"] -emitting = false -amount = 10 -lifetime = 0.2 -one_shot = true -explosiveness = 1.0 -local_coords = false -process_material = SubResource( 1 ) -__meta__ = { -"_edit_vertical_guides_": [ ] -} diff --git a/DungeonShooting_Godot/prefab/effect/ShotFire.tscn b/DungeonShooting_Godot/prefab/effect/ShotFire.tscn deleted file mode 100644 index 1a07305..0000000 --- a/DungeonShooting_Godot/prefab/effect/ShotFire.tscn +++ /dev/null @@ -1,61 +0,0 @@ -[gd_scene load_steps=4 format=3] - -[ext_resource type="Texture2D" uid="uid://b0jsyrbk4bydt" path="res://resource/sprite/effects/ShotFire.png" id="1"] - - -[sub_resource type="Animation" id=2] -length = 0.001 -tracks/0/type = "value" -tracks/0/path = NodePath(".:frame") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/keys = { -"times": PackedFloat32Array( 0 ), -"transitions": PackedFloat32Array( 1 ), -"update": 0, -"values": [ 0 ] -} - -[sub_resource type="Animation" id=1] -resource_name = "ShotFire" -length = 0.2 -step = 0.05 -tracks/0/type = "value" -tracks/0/path = NodePath(".:frame") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/keys = { -"times": PackedFloat32Array( 0, 0.05, 0.1, 0.15 ), -"transitions": PackedFloat32Array( 1, 1, 1, 1 ), -"update": 1, -"values": [ 0, 1, 2, 3 ] -} -tracks/1/type = "method" -tracks/1/path = NodePath(".") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/keys = { -"times": PackedFloat32Array( 0.2 ), -"transitions": PackedFloat32Array( 1 ), -"values": [ { -"args": [ ], -"method": "queue_free" -} ] -} - -[node name="ShotFire" type="Sprite2D"] -modulate = Color( 1.6, 1.6, 1.6, 1 ) -texture = ExtResource( 1 ) -offset = Vector2( 8, 0 ) -hframes = 4 - -[node name="AnimationPlayer" type="AnimationPlayer" parent="."] -autoplay = "ShotFire" -anims/RESET = SubResource( 2 ) -anims/ShotFire = SubResource( 1 ) diff --git a/DungeonShooting_Godot/prefab/effect/activityObject/Effect0001.tscn b/DungeonShooting_Godot/prefab/effect/activityObject/Effect0001.tscn deleted file mode 100644 index 3ba7ecc..0000000 --- a/DungeonShooting_Godot/prefab/effect/activityObject/Effect0001.tscn +++ /dev/null @@ -1,200 +0,0 @@ -[gd_scene load_steps=30 format=3 uid="uid://pr88a1phtxgb"] - -[ext_resource type="Script" path="res://src/game/effects/EnemyDebris.cs" id="1_jnsw0"] -[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_b3d83"] -[ext_resource type="Texture2D" uid="uid://d2f55lu60x64i" path="res://resource/sprite/role/enemy0001/Enemy0001_Debris.png" id="3_ntutm"] -[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/effects/Smoke.png" id="4_egbbr"] - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_s1mj2"] -resource_local_to_scene = true -shader = ExtResource("2_b3d83") -shader_parameter/blend = Color(0, 0, 0, 0.470588) -shader_parameter/schedule = 1.0 -shader_parameter/alpha = 1.0 -shader_parameter/show_outline = true -shader_parameter/outline_color = Color(0, 0, 0, 1) -shader_parameter/outline_rainbow = false - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_08fn3"] -shader = ExtResource("2_b3d83") -shader_parameter/blend = Color(1, 1, 1, 1) -shader_parameter/schedule = 0.0 -shader_parameter/alpha = 1.0 -shader_parameter/show_outline = false -shader_parameter/outline_color = Color(0, 0, 0, 1) -shader_parameter/outline_rainbow = false - -[sub_resource type="AtlasTexture" id="AtlasTexture_cldwb"] -atlas = ExtResource("3_ntutm") -region = Rect2(0, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ehtnl"] -atlas = ExtResource("3_ntutm") -region = Rect2(16, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_j05gd"] -atlas = ExtResource("3_ntutm") -region = Rect2(32, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_7el6f"] -atlas = ExtResource("3_ntutm") -region = Rect2(48, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_n7sw3"] -atlas = ExtResource("3_ntutm") -region = Rect2(64, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_mumsm"] -atlas = ExtResource("3_ntutm") -region = Rect2(80, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_gx41d"] -atlas = ExtResource("3_ntutm") -region = Rect2(96, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_r4nx1"] -atlas = ExtResource("3_ntutm") -region = Rect2(112, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_s8j4o"] -atlas = ExtResource("3_ntutm") -region = Rect2(128, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_2svrb"] -atlas = ExtResource("3_ntutm") -region = Rect2(144, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_twd5t"] -atlas = ExtResource("3_ntutm") -region = Rect2(160, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_8w5ka"] -atlas = ExtResource("3_ntutm") -region = Rect2(176, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_6iumv"] -atlas = ExtResource("3_ntutm") -region = Rect2(192, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_lpilf"] -atlas = ExtResource("3_ntutm") -region = Rect2(208, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_n1a5a"] -atlas = ExtResource("3_ntutm") -region = Rect2(224, 0, 16, 16) - -[sub_resource type="AtlasTexture" id="AtlasTexture_q0oeq"] -atlas = ExtResource("3_ntutm") -region = Rect2(240, 0, 16, 16) - -[sub_resource type="SpriteFrames" id="SpriteFrames_15g84"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_cldwb") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ehtnl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_j05gd") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_7el6f") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_n7sw3") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_mumsm") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_gx41d") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_r4nx1") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_s8j4o") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_2svrb") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_twd5t") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_8w5ka") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_6iumv") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_lpilf") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_n1a5a") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_q0oeq") -}], -"loop": true, -"name": &"default", -"speed": 5.0 -}] - -[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_p3lv8"] -particles_animation = true -particles_anim_h_frames = 3 -particles_anim_v_frames = 1 -particles_anim_loop = false - -[sub_resource type="Gradient" id="Gradient_ryemi"] -colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0.537255) - -[sub_resource type="GradientTexture1D" id="GradientTexture1D_orgu0"] -gradient = SubResource("Gradient_ryemi") - -[sub_resource type="Curve" id="Curve_21dxk"] -_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.177419, 1), 0.0, 0.0, 0, 0, Vector2(1, 0.0272727), 0.0, 0.0, 0, 0] -point_count = 3 - -[sub_resource type="CurveTexture" id="CurveTexture_rutlp"] -curve = SubResource("Curve_21dxk") - -[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ku1mm"] -particle_flag_disable_z = true -gravity = Vector3(0, 0, 0) -orbit_velocity_min = 0.0 -orbit_velocity_max = 0.0 -angle_max = 360.0 -scale_min = 0.4 -scale_max = 1.5 -scale_curve = SubResource("CurveTexture_rutlp") -color = Color(0.811765, 0.0980392, 0.0980392, 0.627451) -color_ramp = SubResource("GradientTexture1D_orgu0") -anim_offset_max = 1.0 - -[node name="Effect0001" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")] -script = ExtResource("1_jnsw0") -ShadowSprite = NodePath("ShadowSprite") -AnimatedSprite = NodePath("AnimatedSprite") -Collision = NodePath("Collision") - -[node name="ShadowSprite" type="Sprite2D" parent="."] -z_index = -1 -material = SubResource("ShaderMaterial_s1mj2") - -[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] -material = SubResource("ShaderMaterial_08fn3") -sprite_frames = SubResource("SpriteFrames_15g84") - -[node name="Collision" type="CollisionShape2D" parent="."] - -[node name="GPUParticles2D" type="GPUParticles2D" parent="."] -material = SubResource("CanvasItemMaterial_p3lv8") -emitting = false -process_material = SubResource("ParticleProcessMaterial_ku1mm") -texture = ExtResource("4_egbbr") -fixed_fps = 20 diff --git a/DungeonShooting_Godot/prefab/effect/activityObject/EnemyBloodEffect.tscn b/DungeonShooting_Godot/prefab/effect/activityObject/EnemyBloodEffect.tscn deleted file mode 100644 index b19d4aa..0000000 --- a/DungeonShooting_Godot/prefab/effect/activityObject/EnemyBloodEffect.tscn +++ /dev/null @@ -1,25 +0,0 @@ -[gd_scene load_steps=5 format=3 uid="uid://m0s0k5nw7nbi"] - -[ext_resource type="Material" uid="uid://c1chld6lkpgji" path="res://resource/material/SmokeParticleMaterial.tres" id="1_jp2tw"] -[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/effects/Smoke.png" id="2_xg444"] -[ext_resource type="Script" path="res://src/game/effects/AutoDestroyEffect.cs" id="3_lldtd"] - -[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_emuda"] -particles_animation = true -particles_anim_h_frames = 3 -particles_anim_v_frames = 1 -particles_anim_loop = false - -[node name="EnemyBloodEffect" type="GPUParticles2D"] -modulate = Color(0.811765, 0.0980392, 0.0980392, 0.627451) -material = SubResource("CanvasItemMaterial_emuda") -emitting = false -amount = 10 -process_material = ExtResource("1_jp2tw") -texture = ExtResource("2_xg444") -lifetime = 1.2 -one_shot = true -explosiveness = 1.0 -fixed_fps = 20 -script = ExtResource("3_lldtd") -DelayTime = 1.5 diff --git a/DungeonShooting_Godot/prefab/effect/common/Effect1.tscn b/DungeonShooting_Godot/prefab/effect/common/Effect1.tscn new file mode 100644 index 0000000..4cd0ba7 --- /dev/null +++ b/DungeonShooting_Godot/prefab/effect/common/Effect1.tscn @@ -0,0 +1,50 @@ +[gd_scene load_steps=8 format=3] + +[ext_resource type="Material" uid="uid://c1chld6lkpgji" path="res://resource/material/SmokeParticleMaterial.tres" id="1_dxavj"] +[ext_resource type="Texture2D" uid="uid://bs1lan5uwxyfg" path="res://resource/curve/Curve1.tres" id="1_s60r7"] +[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/effects/Smoke.png" id="2_3kyig"] +[ext_resource type="Texture2D" uid="uid://csud4e6kc3iku" path="res://resource/sprite/effects/Effect1.png" id="3_1mceu"] +[ext_resource type="Script" path="res://src/game/effects/Effect1.cs" id="3_ax5u4"] + +[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_ipadv"] +particles_animation = true +particles_anim_h_frames = 3 +particles_anim_v_frames = 1 +particles_anim_loop = false + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_pgx85"] +particle_flag_align_y = true +particle_flag_disable_z = true +spread = 180.0 +gravity = Vector3(0, 0, 0) +initial_velocity_min = 40.0 +initial_velocity_max = 70.0 +orbit_velocity_min = 0.0 +orbit_velocity_max = 0.0 +scale_min = 0.2 +scale_max = 0.3 +scale_curve = ExtResource("1_s60r7") + +[node name="Effect1" type="GPUParticles2D"] +modulate = Color(0.760784, 0.760784, 0.760784, 0.533333) +z_index = 5 +material = SubResource("CanvasItemMaterial_ipadv") +emitting = false +amount = 10 +process_material = ExtResource("1_dxavj") +texture = ExtResource("2_3kyig") +lifetime = 0.7 +one_shot = true +explosiveness = 1.0 +fixed_fps = 20 +script = ExtResource("3_ax5u4") + +[node name="GPUParticles2D" type="GPUParticles2D" parent="."] +emitting = false +process_material = SubResource("ParticleProcessMaterial_pgx85") +texture = ExtResource("3_1mceu") +lifetime = 0.5 +one_shot = true +explosiveness = 1.0 +randomness = 0.5 +fixed_fps = 20 diff --git a/DungeonShooting_Godot/prefab/effect/enemy/Effect0001.tscn b/DungeonShooting_Godot/prefab/effect/enemy/Effect0001.tscn new file mode 100644 index 0000000..6b7176e --- /dev/null +++ b/DungeonShooting_Godot/prefab/effect/enemy/Effect0001.tscn @@ -0,0 +1,200 @@ +[gd_scene load_steps=30 format=3 uid="uid://pr88a1phtxgb"] + +[ext_resource type="Script" path="res://src/game/effects/EnemyDebris.cs" id="1_ttosm"] +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_h62s7"] +[ext_resource type="Texture2D" uid="uid://cn64eauvwx1uj" path="res://resource/sprite/role/enemy0001/enemy0001_Debris.png" id="3_6ewaj"] +[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/effects/common/Smoke.png" id="4_wu0t6"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_s1mj2"] +resource_local_to_scene = true +shader = ExtResource("2_h62s7") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1.0 +shader_parameter/modulate = Color(1, 1, 1, 1) +shader_parameter/show_outline = true +shader_parameter/outline_color = Color(0, 0, 0, 1) +shader_parameter/outline_rainbow = false + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_08fn3"] +shader = ExtResource("2_h62s7") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0.0 +shader_parameter/modulate = Color(1, 1, 1, 1) +shader_parameter/show_outline = false +shader_parameter/outline_color = Color(0, 0, 0, 1) +shader_parameter/outline_rainbow = false + +[sub_resource type="AtlasTexture" id="AtlasTexture_cldwb"] +atlas = ExtResource("3_6ewaj") +region = Rect2(0, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ehtnl"] +atlas = ExtResource("3_6ewaj") +region = Rect2(16, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_j05gd"] +atlas = ExtResource("3_6ewaj") +region = Rect2(32, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7el6f"] +atlas = ExtResource("3_6ewaj") +region = Rect2(48, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_n7sw3"] +atlas = ExtResource("3_6ewaj") +region = Rect2(64, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mumsm"] +atlas = ExtResource("3_6ewaj") +region = Rect2(80, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gx41d"] +atlas = ExtResource("3_6ewaj") +region = Rect2(96, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_r4nx1"] +atlas = ExtResource("3_6ewaj") +region = Rect2(112, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s8j4o"] +atlas = ExtResource("3_6ewaj") +region = Rect2(128, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2svrb"] +atlas = ExtResource("3_6ewaj") +region = Rect2(144, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_twd5t"] +atlas = ExtResource("3_6ewaj") +region = Rect2(160, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8w5ka"] +atlas = ExtResource("3_6ewaj") +region = Rect2(176, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6iumv"] +atlas = ExtResource("3_6ewaj") +region = Rect2(192, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lpilf"] +atlas = ExtResource("3_6ewaj") +region = Rect2(208, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_n1a5a"] +atlas = ExtResource("3_6ewaj") +region = Rect2(224, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q0oeq"] +atlas = ExtResource("3_6ewaj") +region = Rect2(240, 0, 16, 16) + +[sub_resource type="SpriteFrames" id="SpriteFrames_15g84"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_cldwb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ehtnl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_j05gd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7el6f") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_n7sw3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mumsm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gx41d") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_r4nx1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s8j4o") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2svrb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_twd5t") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8w5ka") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6iumv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lpilf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_n1a5a") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_q0oeq") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] + +[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_p3lv8"] +particles_animation = true +particles_anim_h_frames = 3 +particles_anim_v_frames = 1 +particles_anim_loop = false + +[sub_resource type="Gradient" id="Gradient_ryemi"] +colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0.537255) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_orgu0"] +gradient = SubResource("Gradient_ryemi") + +[sub_resource type="Curve" id="Curve_21dxk"] +_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.177419, 1), 0.0, 0.0, 0, 0, Vector2(1, 0.0272727), 0.0, 0.0, 0, 0] +point_count = 3 + +[sub_resource type="CurveTexture" id="CurveTexture_rutlp"] +curve = SubResource("Curve_21dxk") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ku1mm"] +particle_flag_disable_z = true +gravity = Vector3(0, 0, 0) +orbit_velocity_min = 0.0 +orbit_velocity_max = 0.0 +angle_max = 360.0 +scale_min = 0.4 +scale_max = 1.5 +scale_curve = SubResource("CurveTexture_rutlp") +color = Color(0.811765, 0.0980392, 0.0980392, 0.627451) +color_ramp = SubResource("GradientTexture1D_orgu0") +anim_offset_max = 1.0 + +[node name="Effect0001" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")] +script = ExtResource("1_ttosm") +ShadowSprite = NodePath("ShadowSprite") +AnimatedSprite = NodePath("AnimatedSprite") +Collision = NodePath("Collision") + +[node name="ShadowSprite" type="Sprite2D" parent="."] +z_index = -1 +material = SubResource("ShaderMaterial_s1mj2") + +[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] +material = SubResource("ShaderMaterial_08fn3") +sprite_frames = SubResource("SpriteFrames_15g84") + +[node name="Collision" type="CollisionShape2D" parent="."] + +[node name="GPUParticles2D" type="GPUParticles2D" parent="."] +material = SubResource("CanvasItemMaterial_p3lv8") +emitting = false +process_material = SubResource("ParticleProcessMaterial_ku1mm") +texture = ExtResource("4_wu0t6") +fixed_fps = 20 diff --git a/DungeonShooting_Godot/prefab/effect/enemy/EnemyBloodEffect.tscn b/DungeonShooting_Godot/prefab/effect/enemy/EnemyBloodEffect.tscn new file mode 100644 index 0000000..9e15242 --- /dev/null +++ b/DungeonShooting_Godot/prefab/effect/enemy/EnemyBloodEffect.tscn @@ -0,0 +1,25 @@ +[gd_scene load_steps=5 format=3 uid="uid://m0s0k5nw7nbi"] + +[ext_resource type="Material" uid="uid://c1chld6lkpgji" path="res://resource/material/SmokeParticleMaterial.tres" id="1_leomh"] +[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/effects/common/Smoke.png" id="2_c2t2e"] +[ext_resource type="Script" path="res://src/game/effects/AutoDestroyEffect.cs" id="3_i1urq"] + +[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_emuda"] +particles_animation = true +particles_anim_h_frames = 3 +particles_anim_v_frames = 1 +particles_anim_loop = false + +[node name="EnemyBloodEffect" type="GPUParticles2D"] +modulate = Color(0.811765, 0.0980392, 0.0980392, 0.627451) +material = SubResource("CanvasItemMaterial_emuda") +emitting = false +amount = 10 +process_material = ExtResource("1_leomh") +texture = ExtResource("2_c2t2e") +lifetime = 1.2 +one_shot = true +explosiveness = 1.0 +fixed_fps = 20 +script = ExtResource("3_i1urq") +DelayTime = 1.5 diff --git a/DungeonShooting_Godot/prefab/effect/weapon/BulletDisappear.tscn b/DungeonShooting_Godot/prefab/effect/weapon/BulletDisappear.tscn new file mode 100644 index 0000000..54549a1 --- /dev/null +++ b/DungeonShooting_Godot/prefab/effect/weapon/BulletDisappear.tscn @@ -0,0 +1,145 @@ +[gd_scene load_steps=15 format=3] + +[ext_resource type="Texture2D" uid="uid://d8ot2wrdoe4j" path="res://resource/sprite/effects/Explosion.png" id="1_qqm6c"] +[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/effects/Smoke.png" id="1_ybsvf"] + + +[sub_resource type="AtlasTexture" id="AtlasTexture_tscb3"] +atlas = ExtResource("1_qqm6c") +region = Rect2(0, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_l2nv6"] +atlas = ExtResource("1_qqm6c") +region = Rect2(16, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5133m"] +atlas = ExtResource("1_qqm6c") +region = Rect2(32, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_41eg5"] +atlas = ExtResource("1_qqm6c") +region = Rect2(48, 0, 16, 16) + +[sub_resource type="SpriteFrames" id="SpriteFrames_ub3cw"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_tscb3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_l2nv6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5133m") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_41eg5") +}], +"loop": false, +"name": &"default", +"speed": 13.0 +}] + +[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_4bd3q"] +particles_animation = true +particles_anim_h_frames = 3 +particles_anim_v_frames = 1 +particles_anim_loop = false + +[sub_resource type="Curve" id="Curve_86ye5"] +_data = [Vector2(0, 0.736364), 0.0, 0.0, 0, 0, Vector2(0.396825, 1), 0.0, 0.0, 0, 0, Vector2(0.990476, 0), 0.0, 0.0, 0, 0] +point_count = 3 + +[sub_resource type="CurveTexture" id="CurveTexture_j77i6"] +curve = SubResource("Curve_86ye5") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_r1yeu"] +lifetime_randomness = 0.3 +particle_flag_disable_z = true +spread = 180.0 +gravity = Vector3(0, 0, 0) +initial_velocity_min = 45.0 +initial_velocity_max = 65.0 +orbit_velocity_min = 0.0 +orbit_velocity_max = 0.0 +angle_max = 360.0 +scale_min = 0.3 +scale_max = 0.6 +scale_curve = SubResource("CurveTexture_j77i6") +color = Color(0.909804, 0.909804, 0.909804, 0.380392) +anim_offset_max = 1.0 + +[sub_resource type="Animation" id="Animation_jnfgg"] +resource_name = "Start" +length = 0.3 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:emitting") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/1/type = "method" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("..") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0.3), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"queue_free" +}] +} + +[sub_resource type="Animation" id="Animation_yr61b"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:emitting") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_1spnw"] +_data = { +"RESET": SubResource("Animation_yr61b"), +"Start": SubResource("Animation_jnfgg") +} + +[node name="BulletDisappear" type="AnimatedSprite2D"] +modulate = Color(1, 1, 1, 0.784314) +z_index = -4 +scale = Vector2(0.5, 0.5) +sprite_frames = SubResource("SpriteFrames_ub3cw") +autoplay = "default" + +[node name="GPUParticles2D" type="GPUParticles2D" parent="."] +material = SubResource("CanvasItemMaterial_4bd3q") +emitting = false +process_material = SubResource("ParticleProcessMaterial_r1yeu") +texture = ExtResource("1_ybsvf") +lifetime = 0.3 +one_shot = true +explosiveness = 0.9 +fixed_fps = 20 + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +root_node = NodePath("../GPUParticles2D") +autoplay = "Start" +libraries = { +"": SubResource("AnimationLibrary_1spnw") +} diff --git a/DungeonShooting_Godot/prefab/effect/weapon/BulletSmoke.tscn b/DungeonShooting_Godot/prefab/effect/weapon/BulletSmoke.tscn new file mode 100644 index 0000000..a540d11 --- /dev/null +++ b/DungeonShooting_Godot/prefab/effect/weapon/BulletSmoke.tscn @@ -0,0 +1,146 @@ +[gd_scene load_steps=9 format=3] + +[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/effects/common/Smoke.png" id="1"] +[ext_resource type="Texture2D" uid="uid://bs1lan5uwxyfg" path="res://resource/curve/Curve1.tres" id="1_8pe88"] +[ext_resource type="Texture2D" uid="uid://dwa4chrugc6b1" path="res://resource/sprite/effects/Collision.png" id="2"] + + +[sub_resource type="CanvasItemMaterial" id="1"] +particles_animation = true +particles_anim_h_frames = 3 +particles_anim_v_frames = 1 +particles_anim_loop = false + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_gpp81"] +lifetime_randomness = 0.5 +particle_flag_disable_z = true +spread = 25.0 +gravity = Vector3(0, 0, 0) +initial_velocity_max = 90.0 +orbit_velocity_min = 0.0 +orbit_velocity_max = 0.0 +angle_max = 360.0 +scale_curve = ExtResource("1_8pe88") +color = Color(0.75, 0.75, 0.75, 0.470588) +anim_offset_max = 1.0 + +[sub_resource type="Animation" id="5"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:emitting") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [false] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:frame") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [true] +} + +[sub_resource type="Animation" id="6"] +resource_name = "Smoke" +step = 0.05 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:emitting") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/1/type = "method" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(1), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"queue_free" +}] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:frame") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.05, 0.1, 0.15), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [0, 1, 2, 3] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:visible") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_uuiu7"] +_data = { +"RESET": SubResource("5"), +"Smoke": SubResource("6") +} + +[node name="BulletSmoke" type="GPUParticles2D"] +material = SubResource("1") +emitting = false +process_material = SubResource("ParticleProcessMaterial_gpp81") +texture = ExtResource("1") +lifetime = 0.4 +one_shot = true +explosiveness = 0.9 +fixed_fps = 20 + +[node name="Sprite2D" type="Sprite2D" parent="."] +modulate = Color(1.6, 1.6, 1.6, 1) +texture = ExtResource("2") +offset = Vector2(8, 0) +hframes = 4 + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +autoplay = "Smoke" +libraries = { +"": SubResource("AnimationLibrary_uuiu7") +} diff --git a/DungeonShooting_Godot/prefab/effect/weapon/FirePart.tscn b/DungeonShooting_Godot/prefab/effect/weapon/FirePart.tscn new file mode 100644 index 0000000..0d5c27f --- /dev/null +++ b/DungeonShooting_Godot/prefab/effect/weapon/FirePart.tscn @@ -0,0 +1,24 @@ +[gd_scene load_steps=2 format=2] + +[sub_resource type="ParticleProcessMaterial" id=1] +flag_disable_z = true +spread = 60.0 +gravity = Vector3( 0, 0, 0 ) +initial_velocity = 200.0 +initial_velocity_random = 1.0 +orbit_velocity = 0.0 +orbit_velocity_random = 0.0 +linear_accel = -200.0 +linear_accel_random = 0.5 + +[node name="FirePart" type="GPUParticles2D"] +emitting = false +amount = 10 +lifetime = 0.2 +one_shot = true +explosiveness = 1.0 +local_coords = false +process_material = SubResource( 1 ) +__meta__ = { +"_edit_vertical_guides_": [ ] +} diff --git a/DungeonShooting_Godot/prefab/effect/weapon/MeleeAttack1.tscn b/DungeonShooting_Godot/prefab/effect/weapon/MeleeAttack1.tscn new file mode 100644 index 0000000..5ba7c89 --- /dev/null +++ b/DungeonShooting_Godot/prefab/effect/weapon/MeleeAttack1.tscn @@ -0,0 +1,39 @@ +[gd_scene load_steps=7 format=3 uid="uid://cylm455bsio3g"] + +[ext_resource type="Texture2D" uid="uid://7jhe2mmctmr1" path="res://resource/sprite/effects/weapon/MeleeAttack1.png" id="1_bjxle"] +[ext_resource type="Script" path="res://src/game/effects/AutoDestroySprite.cs" id="2_bjagc"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_h5mw5"] +atlas = ExtResource("1_bjxle") +region = Rect2(0, 0, 16, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rjd0g"] +atlas = ExtResource("1_bjxle") +region = Rect2(16, 0, 16, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q06ex"] +atlas = ExtResource("1_bjxle") +region = Rect2(32, 0, 16, 32) + +[sub_resource type="SpriteFrames" id="SpriteFrames_hkcv6"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_h5mw5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rjd0g") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_q06ex") +}], +"loop": false, +"name": &"default", +"speed": 20.0 +}] + +[node name="MeleeAttack1" type="AnimatedSprite2D"] +sprite_frames = SubResource("SpriteFrames_hkcv6") +autoplay = "default" +script = ExtResource("2_bjagc") +DelayTime = 0.15 diff --git a/DungeonShooting_Godot/prefab/effect/weapon/ShotFire.tscn b/DungeonShooting_Godot/prefab/effect/weapon/ShotFire.tscn new file mode 100644 index 0000000..b0161a5 --- /dev/null +++ b/DungeonShooting_Godot/prefab/effect/weapon/ShotFire.tscn @@ -0,0 +1,48 @@ +[gd_scene load_steps=8 format=3 uid="uid://433h6huyctl1"] + +[ext_resource type="Texture2D" uid="uid://b0jsyrbk4bydt" path="res://resource/sprite/effects/weapon/ShotFire.png" id="1_sencp"] +[ext_resource type="Script" path="res://src/game/effects/AutoDestroySprite.cs" id="2_lnwju"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_asq5h"] +atlas = ExtResource("1_sencp") +region = Rect2(0, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_n77w8"] +atlas = ExtResource("1_sencp") +region = Rect2(16, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_10rnx"] +atlas = ExtResource("1_sencp") +region = Rect2(32, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qi1pq"] +atlas = ExtResource("1_sencp") +region = Rect2(48, 0, 16, 16) + +[sub_resource type="SpriteFrames" id="SpriteFrames_73j16"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_asq5h") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_n77w8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_10rnx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qi1pq") +}], +"loop": false, +"name": &"default", +"speed": 20.0 +}] + +[node name="ShotFire" type="AnimatedSprite2D"] +modulate = Color(1.6, 1.6, 1.6, 1) +sprite_frames = SubResource("SpriteFrames_73j16") +autoplay = "default" +offset = Vector2(8, 0) +script = ExtResource("2_lnwju") +DelayTime = 0.2 diff --git a/DungeonShooting_Godot/resource/config/ActivityObject.json b/DungeonShooting_Godot/resource/config/ActivityObject.json index d66af1d..49cb525 100644 --- a/DungeonShooting_Godot/resource/config/ActivityObject.json +++ b/DungeonShooting_Godot/resource/config/ActivityObject.json @@ -155,7 +155,7 @@ "Name": "", "Intro": "\u654C\u4EBA\u6B7B\u4EA1\u788E\u7247", "Details": "", - "Prefab": "res://prefab/effect/activityObject/Effect0001.tscn", + "Prefab": "res://prefab/effect/enemy/Effect0001.tscn", "Icon": "", "ShowInMapEditor": false }, @@ -165,7 +165,7 @@ "Name": "\u978B\u5B50", "Intro": "\u63D0\u9AD8\u79FB\u52A8\u901F\u5EA6", "Details": "", - "Prefab": "res://prefab/prop/buff/BuffProp0001.tscn", + "Prefab": "res://prefab/effect/enemy/Effect0001.tscn", "Icon": "res://resource/sprite/prop/buff/BuffProp0001.png", "ShowInMapEditor": true }, diff --git a/DungeonShooting_Godot/resource/config/Weapon.json b/DungeonShooting_Godot/resource/config/Weapon.json index 2ee18aa..1bf292c 100644 --- a/DungeonShooting_Godot/resource/config/Weapon.json +++ b/DungeonShooting_Godot/resource/config/Weapon.json @@ -20,42 +20,57 @@ "ManualBeLoaded": false, "AutoManualBeLoaded": false, "BeLoadedTime": 0, - "MinContinuousCount": 1, - "MaxContinuousCount": 1, + "ContinuousCountRange": [ + 1 + ], "TriggerInterval": 0, "StartFiringSpeed": 480, "FinalFiringSpeed": 480, "FiringSpeedAddSpeed": 0, "FiringSpeedBackSpeed": 0, - "MinFireBulletCount": 1, - "MaxFireBulletCount": 1, + "FireBulletCountRange": [ + 1 + ], "DelayedTime": 0, "StartScatteringRange": 5, "FinalScatteringRange": 45, "ScatteringRangeAddValue": 3, "ScatteringRangeBackSpeed": 40, "ScatteringRangeBackDelayTime": 0.5, - "MinBacklash": 2, - "MaxBacklash": 4, + "BacklashRange": [ + 2, + 4 + ], "BacklashRegressionSpeed": 35, "UpliftAngle": 10, "DefaultAngle": 0, "UpliftAngleRestore": 1, "BulletId": "bullet0001", - "BulletMaxHarm": 4, - "BulletMinHarm": 4, - "BulletMinDeviationAngle": 0, - "BulletMaxDeviationAngle": 0, - "BulletMaxSpeed": 320, - "BulletMinSpeed": 350, - "BulletMinDistance": 300, - "BulletMaxDistance": 400, + "BulletHarmRange": [ + 4 + ], + "BulletDeviationAngleRange": [ + 0 + ], + "BulletSpeedRange": [ + 320, + 350 + ], + "BulletDistanceRange": [ + 300, + 400 + ], "ShellId": "shell0001", "ThrowShellDelayTime": 0, "ThrowCollisionSize": { "X": 20, "Y": 15 }, + "CanMeleeAttack": true, + "MeleeAttackHarmRange": [ + 5, + 8 + ], "__ShootSound": "shooting0005", "__BeginReloadSound": "reloadBegin0004", "BeginReloadSoundDelayTime": 0.2, @@ -92,42 +107,57 @@ "ManualBeLoaded": false, "AutoManualBeLoaded": false, "BeLoadedTime": 0, - "MinContinuousCount": 3, - "MaxContinuousCount": 3, + "ContinuousCountRange": [ + 3 + ], "TriggerInterval": 3, "StartFiringSpeed": 480, "FinalFiringSpeed": 480, "FiringSpeedAddSpeed": 0, "FiringSpeedBackSpeed": 0, - "MinFireBulletCount": 1, - "MaxFireBulletCount": 1, + "FireBulletCountRange": [ + 1 + ], "DelayedTime": 0, "StartScatteringRange": 5, "FinalScatteringRange": 45, "ScatteringRangeAddValue": 3, "ScatteringRangeBackSpeed": 40, "ScatteringRangeBackDelayTime": 0.5, - "MinBacklash": 2, - "MaxBacklash": 4, + "BacklashRange": [ + 2, + 4 + ], "BacklashRegressionSpeed": 35, "UpliftAngle": 10, "DefaultAngle": 0, "UpliftAngleRestore": 1, "BulletId": "bullet0001", - "BulletMaxHarm": 4, - "BulletMinHarm": 4, - "BulletMinDeviationAngle": 0, - "BulletMaxDeviationAngle": 0, - "BulletMaxSpeed": 320, - "BulletMinSpeed": 350, - "BulletMinDistance": 300, - "BulletMaxDistance": 400, + "BulletHarmRange": [ + 4 + ], + "BulletDeviationAngleRange": [ + 0 + ], + "BulletSpeedRange": [ + 320, + 350 + ], + "BulletDistanceRange": [ + 300, + 400 + ], "ShellId": "shell0001", "ThrowShellDelayTime": 0, "ThrowCollisionSize": { "X": 20, "Y": 15 }, + "CanMeleeAttack": true, + "MeleeAttackHarmRange": [ + 5, + 8 + ], "__ShootSound": "shooting0005", "__BeginReloadSound": "reloadBegin0004", "BeginReloadSoundDelayTime": 0.2, @@ -164,42 +194,58 @@ "ManualBeLoaded": true, "AutoManualBeLoaded": true, "BeLoadedTime": 0.6, - "MinContinuousCount": 1, - "MaxContinuousCount": 1, + "ContinuousCountRange": [ + 1 + ], "TriggerInterval": 0, "StartFiringSpeed": 120, "FinalFiringSpeed": 120, "FiringSpeedAddSpeed": 0, "FiringSpeedBackSpeed": 0, - "MinFireBulletCount": 5, - "MaxFireBulletCount": 5, + "FireBulletCountRange": [ + 5 + ], "DelayedTime": 0, "StartScatteringRange": 12, "FinalScatteringRange": 30, "ScatteringRangeAddValue": 20, "ScatteringRangeBackSpeed": 40, "ScatteringRangeBackDelayTime": 0.5, - "MinBacklash": 5, - "MaxBacklash": 6, + "BacklashRange": [ + 5, + 6 + ], "BacklashRegressionSpeed": 35, "UpliftAngle": 15, "DefaultAngle": 0, "UpliftAngleRestore": 1, "BulletId": "bullet0002", - "BulletMaxHarm": 4, - "BulletMinHarm": 4, - "BulletMinDeviationAngle": -10, - "BulletMaxDeviationAngle": 10, - "BulletMaxSpeed": 280, - "BulletMinSpeed": 380, - "BulletMinDistance": 200, - "BulletMaxDistance": 250, + "BulletHarmRange": [ + 4 + ], + "BulletDeviationAngleRange": [ + -10, + 10 + ], + "BulletSpeedRange": [ + 280, + 380 + ], + "BulletDistanceRange": [ + 200, + 250 + ], "ShellId": "shell0002", "ThrowShellDelayTime": 0.2, "ThrowCollisionSize": { "X": 20, "Y": 15 }, + "CanMeleeAttack": true, + "MeleeAttackHarmRange": [ + 5, + 8 + ], "__ShootSound": "shooting0003", "__BeginReloadSound": "reloadBegin0002", "BeginReloadSoundDelayTime": 0, @@ -236,42 +282,58 @@ "ManualBeLoaded": true, "AutoManualBeLoaded": true, "BeLoadedTime": 0.6, - "MinContinuousCount": 1, - "MaxContinuousCount": 1, + "ContinuousCountRange": [ + 1 + ], "TriggerInterval": 3.5, "StartFiringSpeed": 120, "FinalFiringSpeed": 120, "FiringSpeedAddSpeed": 0, "FiringSpeedBackSpeed": 0, - "MinFireBulletCount": 5, - "MaxFireBulletCount": 5, + "FireBulletCountRange": [ + 5 + ], "DelayedTime": 0, "StartScatteringRange": 12, "FinalScatteringRange": 30, "ScatteringRangeAddValue": 20, "ScatteringRangeBackSpeed": 40, "ScatteringRangeBackDelayTime": 0.5, - "MinBacklash": 5, - "MaxBacklash": 6, + "BacklashRange": [ + 5, + 6 + ], "BacklashRegressionSpeed": 35, "UpliftAngle": 15, "DefaultAngle": 0, "UpliftAngleRestore": 1, "BulletId": "bullet0002", - "BulletMaxHarm": 4, - "BulletMinHarm": 4, - "BulletMinDeviationAngle": -10, - "BulletMaxDeviationAngle": 10, - "BulletMaxSpeed": 280, - "BulletMinSpeed": 380, - "BulletMinDistance": 200, - "BulletMaxDistance": 250, + "BulletHarmRange": [ + 4 + ], + "BulletDeviationAngleRange": [ + -10, + 10 + ], + "BulletSpeedRange": [ + 280, + 380 + ], + "BulletDistanceRange": [ + 200, + 250 + ], "ShellId": "shell0002", "ThrowShellDelayTime": 0.2, "ThrowCollisionSize": { "X": 20, "Y": 15 }, + "CanMeleeAttack": true, + "MeleeAttackHarmRange": [ + 5, + 8 + ], "__ShootSound": "shooting0003", "__BeginReloadSound": "reloadBegin0002", "BeginReloadSoundDelayTime": 0, @@ -308,42 +370,57 @@ "ManualBeLoaded": false, "AutoManualBeLoaded": false, "BeLoadedTime": 0.05, - "MinContinuousCount": 1, - "MaxContinuousCount": 1, + "ContinuousCountRange": [ + 1 + ], "TriggerInterval": 0, "StartFiringSpeed": 460, "FinalFiringSpeed": 460, "FiringSpeedAddSpeed": 0, "FiringSpeedBackSpeed": 0, - "MinFireBulletCount": 1, - "MaxFireBulletCount": 1, + "FireBulletCountRange": [ + 1 + ], "DelayedTime": 0, "StartScatteringRange": 5, "FinalScatteringRange": 25, "ScatteringRangeAddValue": 4, "ScatteringRangeBackSpeed": 40, "ScatteringRangeBackDelayTime": 0.5, - "MinBacklash": 3, - "MaxBacklash": 5, + "BacklashRange": [ + 3, + 5 + ], "BacklashRegressionSpeed": 35, "UpliftAngle": 20, "DefaultAngle": 0, "UpliftAngleRestore": 1, "BulletId": "bullet0001", - "BulletMaxHarm": 4, - "BulletMinHarm": 4, - "BulletMinDeviationAngle": 0, - "BulletMaxDeviationAngle": 0, - "BulletMaxSpeed": 320, - "BulletMinSpeed": 350, - "BulletMinDistance": 250, - "BulletMaxDistance": 300, + "BulletHarmRange": [ + 4 + ], + "BulletDeviationAngleRange": [ + 0 + ], + "BulletSpeedRange": [ + 320, + 350 + ], + "BulletDistanceRange": [ + 250, + 300 + ], "ShellId": "shell0001", "ThrowShellDelayTime": 0, "ThrowCollisionSize": { "X": 20, "Y": 15 }, + "CanMeleeAttack": true, + "MeleeAttackHarmRange": [ + 5, + 8 + ], "__ShootSound": "shooting0004", "__BeginReloadSound": "reloading0001", "BeginReloadSoundDelayTime": 0, @@ -380,42 +457,57 @@ "ManualBeLoaded": false, "AutoManualBeLoaded": false, "BeLoadedTime": 0.05, - "MinContinuousCount": 1, - "MaxContinuousCount": 1, + "ContinuousCountRange": [ + 1 + ], "TriggerInterval": 2, "StartFiringSpeed": 300, "FinalFiringSpeed": 300, "FiringSpeedAddSpeed": 0, "FiringSpeedBackSpeed": 0, - "MinFireBulletCount": 1, - "MaxFireBulletCount": 1, + "FireBulletCountRange": [ + 1 + ], "DelayedTime": 0, "StartScatteringRange": 5, "FinalScatteringRange": 25, "ScatteringRangeAddValue": 4, "ScatteringRangeBackSpeed": 40, "ScatteringRangeBackDelayTime": 0.5, - "MinBacklash": 3, - "MaxBacklash": 5, + "BacklashRange": [ + 3, + 5 + ], "BacklashRegressionSpeed": 35, "UpliftAngle": 20, "DefaultAngle": 0, "UpliftAngleRestore": 1, "BulletId": "bullet0001", - "BulletMaxHarm": 4, - "BulletMinHarm": 4, - "BulletMinDeviationAngle": 0, - "BulletMaxDeviationAngle": 0, - "BulletMaxSpeed": 320, - "BulletMinSpeed": 350, - "BulletMinDistance": 250, - "BulletMaxDistance": 300, + "BulletHarmRange": [ + 4 + ], + "BulletDeviationAngleRange": [ + 0 + ], + "BulletSpeedRange": [ + 320, + 350 + ], + "BulletDistanceRange": [ + 250, + 300 + ], "ShellId": "shell0001", "ThrowShellDelayTime": 0, "ThrowCollisionSize": { "X": 20, "Y": 15 }, + "CanMeleeAttack": true, + "MeleeAttackHarmRange": [ + 5, + 8 + ], "__ShootSound": "shooting0004", "__BeginReloadSound": "reloading0001", "BeginReloadSoundDelayTime": 0, @@ -452,42 +544,54 @@ "ManualBeLoaded": false, "AutoManualBeLoaded": false, "BeLoadedTime": 0, - "MinContinuousCount": 1, - "MaxContinuousCount": 1, + "ContinuousCountRange": [ + 1 + ], "TriggerInterval": 0, "StartFiringSpeed": 180, "FinalFiringSpeed": 180, "FiringSpeedAddSpeed": 0, "FiringSpeedBackSpeed": 0, - "MinFireBulletCount": 1, - "MaxFireBulletCount": 1, + "FireBulletCountRange": [ + 1 + ], "DelayedTime": 0, "StartScatteringRange": 0, "FinalScatteringRange": 0, "ScatteringRangeAddValue": 0, "ScatteringRangeBackSpeed": 0, "ScatteringRangeBackDelayTime": 0, - "MinBacklash": -8, - "MaxBacklash": -8, + "BacklashRange": [ + -8 + ], "BacklashRegressionSpeed": 24, "UpliftAngle": -95, "DefaultAngle": 0, "UpliftAngleRestore": 1, "BulletId": "bullet0001", - "BulletMaxHarm": 25, - "BulletMinHarm": 25, - "BulletMinDeviationAngle": 0, - "BulletMaxDeviationAngle": 0, - "BulletMaxSpeed": 350, - "BulletMinSpeed": 350, - "BulletMinDistance": 35, - "BulletMaxDistance": 35, + "BulletHarmRange": [ + 25 + ], + "BulletDeviationAngleRange": [ + 0 + ], + "BulletSpeedRange": [ + 350 + ], + "BulletDistanceRange": [ + 35 + ], "ShellId": "", "ThrowShellDelayTime": 0, "ThrowCollisionSize": { "X": 20, "Y": 15 }, + "CanMeleeAttack": true, + "MeleeAttackHarmRange": [ + 5, + 8 + ], "__ShootSound": "", "__BeginReloadSound": "", "BeginReloadSoundDelayTime": 0, @@ -524,42 +628,54 @@ "ManualBeLoaded": false, "AutoManualBeLoaded": false, "BeLoadedTime": 0, - "MinContinuousCount": 1, - "MaxContinuousCount": 1, + "ContinuousCountRange": [ + 1 + ], "TriggerInterval": 3, "StartFiringSpeed": 180, "FinalFiringSpeed": 180, "FiringSpeedAddSpeed": 0, "FiringSpeedBackSpeed": 0, - "MinFireBulletCount": 1, - "MaxFireBulletCount": 1, + "FireBulletCountRange": [ + 1 + ], "DelayedTime": 0, "StartScatteringRange": 0, "FinalScatteringRange": 0, "ScatteringRangeAddValue": 0, "ScatteringRangeBackSpeed": 0, "ScatteringRangeBackDelayTime": 0, - "MinBacklash": -8, - "MaxBacklash": -8, + "BacklashRange": [ + -8 + ], "BacklashRegressionSpeed": 24, "UpliftAngle": -95, "DefaultAngle": 0, "UpliftAngleRestore": 1, "BulletId": "bullet0001", - "BulletMaxHarm": 25, - "BulletMinHarm": 25, - "BulletMinDeviationAngle": 0, - "BulletMaxDeviationAngle": 0, - "BulletMaxSpeed": 350, - "BulletMinSpeed": 350, - "BulletMinDistance": 35, - "BulletMaxDistance": 35, + "BulletHarmRange": [ + 25 + ], + "BulletDeviationAngleRange": [ + 0 + ], + "BulletSpeedRange": [ + 350 + ], + "BulletDistanceRange": [ + 35 + ], "ShellId": "", "ThrowShellDelayTime": 0, "ThrowCollisionSize": { "X": 20, "Y": 15 }, + "CanMeleeAttack": true, + "MeleeAttackHarmRange": [ + 5, + 8 + ], "__ShootSound": "", "__BeginReloadSound": "", "BeginReloadSoundDelayTime": 0, @@ -596,42 +712,57 @@ "ManualBeLoaded": true, "AutoManualBeLoaded": false, "BeLoadedTime": 0.9, - "MinContinuousCount": 1, - "MaxContinuousCount": 1, + "ContinuousCountRange": [ + 1 + ], "TriggerInterval": 0, "StartFiringSpeed": 150, "FinalFiringSpeed": 150, "FiringSpeedAddSpeed": 0, "FiringSpeedBackSpeed": 0, - "MinFireBulletCount": 1, - "MaxFireBulletCount": 1, + "FireBulletCountRange": [ + 1 + ], "DelayedTime": 0, "StartScatteringRange": 3, "FinalScatteringRange": 60, "ScatteringRangeAddValue": 40, "ScatteringRangeBackSpeed": 40, "ScatteringRangeBackDelayTime": 0.8, - "MinBacklash": 5, - "MaxBacklash": 7, + "BacklashRange": [ + 5, + 7 + ], "BacklashRegressionSpeed": 20, "UpliftAngle": 15, "DefaultAngle": 0, "UpliftAngleRestore": 1, "BulletId": "bullet0001", - "BulletMaxHarm": 30, - "BulletMinHarm": 30, - "BulletMinDeviationAngle": 0, - "BulletMaxDeviationAngle": 0, - "BulletMaxSpeed": 600, - "BulletMinSpeed": 620, - "BulletMinDistance": 700, - "BulletMaxDistance": 900, + "BulletHarmRange": [ + 30 + ], + "BulletDeviationAngleRange": [ + 0 + ], + "BulletSpeedRange": [ + 600, + 620 + ], + "BulletDistanceRange": [ + 700, + 900 + ], "ShellId": "shell0003", "ThrowShellDelayTime": 0.2, "ThrowCollisionSize": { "X": 20, "Y": 15 }, + "CanMeleeAttack": true, + "MeleeAttackHarmRange": [ + 5, + 8 + ], "__ShootSound": "shooting0008", "__BeginReloadSound": "reloadBegin0009", "BeginReloadSoundDelayTime": 0, @@ -668,42 +799,57 @@ "ManualBeLoaded": true, "AutoManualBeLoaded": false, "BeLoadedTime": 0.9, - "MinContinuousCount": 1, - "MaxContinuousCount": 1, + "ContinuousCountRange": [ + 1 + ], "TriggerInterval": 5, "StartFiringSpeed": 150, "FinalFiringSpeed": 150, "FiringSpeedAddSpeed": 0, "FiringSpeedBackSpeed": 0, - "MinFireBulletCount": 1, - "MaxFireBulletCount": 1, + "FireBulletCountRange": [ + 1 + ], "DelayedTime": 0, "StartScatteringRange": 3, "FinalScatteringRange": 60, "ScatteringRangeAddValue": 40, "ScatteringRangeBackSpeed": 40, "ScatteringRangeBackDelayTime": 0.8, - "MinBacklash": 5, - "MaxBacklash": 7, + "BacklashRange": [ + 5, + 7 + ], "BacklashRegressionSpeed": 20, "UpliftAngle": 15, "DefaultAngle": 0, "UpliftAngleRestore": 1, "BulletId": "bullet0001", - "BulletMaxHarm": 30, - "BulletMinHarm": 30, - "BulletMinDeviationAngle": 0, - "BulletMaxDeviationAngle": 0, - "BulletMaxSpeed": 600, - "BulletMinSpeed": 620, - "BulletMinDistance": 700, - "BulletMaxDistance": 900, + "BulletHarmRange": [ + 30 + ], + "BulletDeviationAngleRange": [ + 0 + ], + "BulletSpeedRange": [ + 600, + 620 + ], + "BulletDistanceRange": [ + 700, + 900 + ], "ShellId": "shell0003", "ThrowShellDelayTime": 0.2, "ThrowCollisionSize": { "X": 20, "Y": 15 }, + "CanMeleeAttack": true, + "MeleeAttackHarmRange": [ + 5, + 8 + ], "__ShootSound": "shooting0008", "__BeginReloadSound": "reloadBegin0009", "BeginReloadSoundDelayTime": 0, @@ -740,42 +886,57 @@ "ManualBeLoaded": false, "AutoManualBeLoaded": false, "BeLoadedTime": 0, - "MinContinuousCount": 1, - "MaxContinuousCount": 1, + "ContinuousCountRange": [ + 1 + ], "TriggerInterval": 0, "StartFiringSpeed": 700, "FinalFiringSpeed": 700, "FiringSpeedAddSpeed": 0, "FiringSpeedBackSpeed": 0, - "MinFireBulletCount": 1, - "MaxFireBulletCount": 1, + "FireBulletCountRange": [ + 1 + ], "DelayedTime": 0, "StartScatteringRange": 3, "FinalScatteringRange": 30, "ScatteringRangeAddValue": 2, "ScatteringRangeBackSpeed": 40, "ScatteringRangeBackDelayTime": 0.3, - "MinBacklash": 1, - "MaxBacklash": 2, + "BacklashRange": [ + 1, + 2 + ], "BacklashRegressionSpeed": 35, "UpliftAngle": 5, "DefaultAngle": 0, "UpliftAngleRestore": 1, "BulletId": "bullet0002", - "BulletMaxHarm": 3, - "BulletMinHarm": 3, - "BulletMinDeviationAngle": 0, - "BulletMaxDeviationAngle": 0, - "BulletMaxSpeed": 320, - "BulletMinSpeed": 340, - "BulletMinDistance": 300, - "BulletMaxDistance": 400, + "BulletHarmRange": [ + 3 + ], + "BulletDeviationAngleRange": [ + 0 + ], + "BulletSpeedRange": [ + 320, + 340 + ], + "BulletDistanceRange": [ + 300, + 400 + ], "ShellId": "shell0001", "ThrowShellDelayTime": 0, "ThrowCollisionSize": { "X": 20, "Y": 15 }, + "CanMeleeAttack": true, + "MeleeAttackHarmRange": [ + 5, + 8 + ], "__ShootSound": "shooting0002", "__BeginReloadSound": "reloadBegin0005", "BeginReloadSoundDelayTime": 0.2, @@ -812,42 +973,57 @@ "ManualBeLoaded": false, "AutoManualBeLoaded": false, "BeLoadedTime": 0, - "MinContinuousCount": 5, - "MaxContinuousCount": 5, + "ContinuousCountRange": [ + 5 + ], "TriggerInterval": 3.5, "StartFiringSpeed": 700, "FinalFiringSpeed": 700, "FiringSpeedAddSpeed": 0, "FiringSpeedBackSpeed": 0, - "MinFireBulletCount": 1, - "MaxFireBulletCount": 1, + "FireBulletCountRange": [ + 1 + ], "DelayedTime": 0, "StartScatteringRange": 3, "FinalScatteringRange": 30, "ScatteringRangeAddValue": 2, "ScatteringRangeBackSpeed": 30, "ScatteringRangeBackDelayTime": 0.3, - "MinBacklash": 1, - "MaxBacklash": 2, + "BacklashRange": [ + 1, + 2 + ], "BacklashRegressionSpeed": 35, "UpliftAngle": 5, "DefaultAngle": 0, "UpliftAngleRestore": 1, "BulletId": "bullet0002", - "BulletMaxHarm": 3, - "BulletMinHarm": 3, - "BulletMinDeviationAngle": 0, - "BulletMaxDeviationAngle": 0, - "BulletMaxSpeed": 320, - "BulletMinSpeed": 340, - "BulletMinDistance": 300, - "BulletMaxDistance": 400, + "BulletHarmRange": [ + 3 + ], + "BulletDeviationAngleRange": [ + 0 + ], + "BulletSpeedRange": [ + 320, + 340 + ], + "BulletDistanceRange": [ + 300, + 400 + ], "ShellId": "shell0001", "ThrowShellDelayTime": 0, "ThrowCollisionSize": { "X": 20, "Y": 15 }, + "CanMeleeAttack": true, + "MeleeAttackHarmRange": [ + 5, + 8 + ], "__ShootSound": "shooting0002", "__BeginReloadSound": "reloadBegin0005", "BeginReloadSoundDelayTime": 0.2, @@ -884,42 +1060,57 @@ "ManualBeLoaded": false, "AutoManualBeLoaded": false, "BeLoadedTime": 0, - "MinContinuousCount": 1, - "MaxContinuousCount": 1, + "ContinuousCountRange": [ + 1 + ], "TriggerInterval": 0, "StartFiringSpeed": 700, "FinalFiringSpeed": 700, "FiringSpeedAddSpeed": 0, "FiringSpeedBackSpeed": 0, - "MinFireBulletCount": 1, - "MaxFireBulletCount": 1, + "FireBulletCountRange": [ + 1 + ], "DelayedTime": 0, "StartScatteringRange": 6, "FinalScatteringRange": 60, "ScatteringRangeAddValue": 3, "ScatteringRangeBackSpeed": 50, "ScatteringRangeBackDelayTime": 0.3, - "MinBacklash": 1, - "MaxBacklash": 2, + "BacklashRange": [ + 1, + 2 + ], "BacklashRegressionSpeed": 35, "UpliftAngle": 5, "DefaultAngle": 0, "UpliftAngleRestore": 1, "BulletId": "bullet0003", - "BulletMaxHarm": 3, - "BulletMinHarm": 3, - "BulletMinDeviationAngle": 0, - "BulletMaxDeviationAngle": 0, - "BulletMaxSpeed": 300, - "BulletMinSpeed": 330, - "BulletMinDistance": 270, - "BulletMaxDistance": 360, + "BulletHarmRange": [ + 3 + ], + "BulletDeviationAngleRange": [ + 0 + ], + "BulletSpeedRange": [ + 300, + 330 + ], + "BulletDistanceRange": [ + 270, + 360 + ], "ShellId": "shell0001", "ThrowShellDelayTime": 0, "ThrowCollisionSize": { "X": 20, "Y": 15 }, + "CanMeleeAttack": true, + "MeleeAttackHarmRange": [ + 5, + 8 + ], "__ShootSound": "shooting0007", "__BeginReloadSound": "reloadBegin0006", "BeginReloadSoundDelayTime": 0.2, @@ -956,42 +1147,57 @@ "ManualBeLoaded": false, "AutoManualBeLoaded": false, "BeLoadedTime": 0, - "MinContinuousCount": 10, - "MaxContinuousCount": 10, + "ContinuousCountRange": [ + 10 + ], "TriggerInterval": 5, "StartFiringSpeed": 200, "FinalFiringSpeed": 200, "FiringSpeedAddSpeed": 0, "FiringSpeedBackSpeed": 0, - "MinFireBulletCount": 1, - "MaxFireBulletCount": 1, + "FireBulletCountRange": [ + 1 + ], "DelayedTime": 0, "StartScatteringRange": 10, "FinalScatteringRange": 30, "ScatteringRangeAddValue": 3, "ScatteringRangeBackSpeed": 50, "ScatteringRangeBackDelayTime": 0.3, - "MinBacklash": 1, - "MaxBacklash": 2, + "BacklashRange": [ + 1, + 2 + ], "BacklashRegressionSpeed": 35, "UpliftAngle": 5, "DefaultAngle": 0, "UpliftAngleRestore": 1, "BulletId": "bullet0003", - "BulletMaxHarm": 3, - "BulletMinHarm": 3, - "BulletMinDeviationAngle": 0, - "BulletMaxDeviationAngle": 0, - "BulletMaxSpeed": 300, - "BulletMinSpeed": 330, - "BulletMinDistance": 270, - "BulletMaxDistance": 360, + "BulletHarmRange": [ + 3 + ], + "BulletDeviationAngleRange": [ + 0 + ], + "BulletSpeedRange": [ + 300, + 330 + ], + "BulletDistanceRange": [ + 270, + 360 + ], "ShellId": "shell0001", "ThrowShellDelayTime": 0, "ThrowCollisionSize": { "X": 20, "Y": 15 }, + "CanMeleeAttack": true, + "MeleeAttackHarmRange": [ + 5, + 8 + ], "__ShootSound": "shooting0007", "__BeginReloadSound": "reloadBegin0006", "BeginReloadSoundDelayTime": 0.2, diff --git a/DungeonShooting_Godot/resource/sprite/effects/Collision.png b/DungeonShooting_Godot/resource/sprite/effects/Collision.png deleted file mode 100644 index f15c822..0000000 --- a/DungeonShooting_Godot/resource/sprite/effects/Collision.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effects/Collision.png.import b/DungeonShooting_Godot/resource/sprite/effects/Collision.png.import deleted file mode 100644 index a7cddfb..0000000 --- a/DungeonShooting_Godot/resource/sprite/effects/Collision.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dwa4chrugc6b1" -path="res://.godot/imported/Collision.png-c44899b0822a30bd5fe788c9b566e1c7.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effects/Collision.png" -dest_files=["res://.godot/imported/Collision.png-c44899b0822a30bd5fe788c9b566e1c7.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/effects/Effect1.png b/DungeonShooting_Godot/resource/sprite/effects/Effect1.png deleted file mode 100644 index 51ef9a9..0000000 --- a/DungeonShooting_Godot/resource/sprite/effects/Effect1.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effects/Effect1.png.import b/DungeonShooting_Godot/resource/sprite/effects/Effect1.png.import deleted file mode 100644 index 73c78cc..0000000 --- a/DungeonShooting_Godot/resource/sprite/effects/Effect1.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://csud4e6kc3iku" -path="res://.godot/imported/Effect1.png-851e49cafde0258e42b0cba6b7034139.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effects/Effect1.png" -dest_files=["res://.godot/imported/Effect1.png-851e49cafde0258e42b0cba6b7034139.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/effects/KnifeHit1.png b/DungeonShooting_Godot/resource/sprite/effects/KnifeHit1.png deleted file mode 100644 index 83465d0..0000000 --- a/DungeonShooting_Godot/resource/sprite/effects/KnifeHit1.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effects/KnifeHit1.png.import b/DungeonShooting_Godot/resource/sprite/effects/KnifeHit1.png.import deleted file mode 100644 index 1e10427..0000000 --- a/DungeonShooting_Godot/resource/sprite/effects/KnifeHit1.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dx07ta0asnmuw" -path="res://.godot/imported/KnifeHit1.png-6ddd3aef14cf0bb7d2f668cd41ac74d0.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effects/KnifeHit1.png" -dest_files=["res://.godot/imported/KnifeHit1.png-6ddd3aef14cf0bb7d2f668cd41ac74d0.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/effects/ShotFire.png b/DungeonShooting_Godot/resource/sprite/effects/ShotFire.png deleted file mode 100644 index 5c6d63a..0000000 --- a/DungeonShooting_Godot/resource/sprite/effects/ShotFire.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effects/ShotFire.png.import b/DungeonShooting_Godot/resource/sprite/effects/ShotFire.png.import deleted file mode 100644 index 6eda108..0000000 --- a/DungeonShooting_Godot/resource/sprite/effects/ShotFire.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://b0jsyrbk4bydt" -path="res://.godot/imported/ShotFire.png-19fbeb61d685dfc2c763d73aa70d548b.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effects/ShotFire.png" -dest_files=["res://.godot/imported/ShotFire.png-19fbeb61d685dfc2c763d73aa70d548b.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/effects/Smoke.png b/DungeonShooting_Godot/resource/sprite/effects/Smoke.png deleted file mode 100644 index f358c57..0000000 --- a/DungeonShooting_Godot/resource/sprite/effects/Smoke.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effects/Smoke.png.import b/DungeonShooting_Godot/resource/sprite/effects/Smoke.png.import deleted file mode 100644 index 11eadf7..0000000 --- a/DungeonShooting_Godot/resource/sprite/effects/Smoke.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://h7hkgbwj1li" -path="res://.godot/imported/Smoke.png-6cf8f8f0055f43a859d02942814cba94.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effects/Smoke.png" -dest_files=["res://.godot/imported/Smoke.png-6cf8f8f0055f43a859d02942814cba94.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/effects/common/Effect1.png b/DungeonShooting_Godot/resource/sprite/effects/common/Effect1.png new file mode 100644 index 0000000..51ef9a9 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/common/Effect1.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effects/common/Effect1.png.import b/DungeonShooting_Godot/resource/sprite/effects/common/Effect1.png.import new file mode 100644 index 0000000..ded10aa --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/common/Effect1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://csud4e6kc3iku" +path="res://.godot/imported/Effect1.png-b381c54ce9f36be8da8d9d5787e0d539.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/effects/common/Effect1.png" +dest_files=["res://.godot/imported/Effect1.png-b381c54ce9f36be8da8d9d5787e0d539.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/effects/common/Smoke.png b/DungeonShooting_Godot/resource/sprite/effects/common/Smoke.png new file mode 100644 index 0000000..f358c57 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/common/Smoke.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effects/common/Smoke.png.import b/DungeonShooting_Godot/resource/sprite/effects/common/Smoke.png.import new file mode 100644 index 0000000..d7f7f6e --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/common/Smoke.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://h7hkgbwj1li" +path="res://.godot/imported/Smoke.png-c890fc56df0c1a3ef083465f2627ab8b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/effects/common/Smoke.png" +dest_files=["res://.godot/imported/Smoke.png-c890fc56df0c1a3ef083465f2627ab8b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/effects/weapon/Collision1.png b/DungeonShooting_Godot/resource/sprite/effects/weapon/Collision1.png new file mode 100644 index 0000000..f15c822 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/weapon/Collision1.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effects/weapon/Collision1.png.import b/DungeonShooting_Godot/resource/sprite/effects/weapon/Collision1.png.import new file mode 100644 index 0000000..1737a56 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/weapon/Collision1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwa4chrugc6b1" +path="res://.godot/imported/Collision1.png-21b57f1716aaa61033dc15fa90c3af13.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/effects/weapon/Collision1.png" +dest_files=["res://.godot/imported/Collision1.png-21b57f1716aaa61033dc15fa90c3af13.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/effects/weapon/KnifeHit1.png b/DungeonShooting_Godot/resource/sprite/effects/weapon/KnifeHit1.png new file mode 100644 index 0000000..83465d0 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/weapon/KnifeHit1.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effects/weapon/KnifeHit1.png.import b/DungeonShooting_Godot/resource/sprite/effects/weapon/KnifeHit1.png.import new file mode 100644 index 0000000..890932d --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/weapon/KnifeHit1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dx07ta0asnmuw" +path="res://.godot/imported/KnifeHit1.png-2f433b2240ee3b74ce7f49e4905f3ded.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/effects/weapon/KnifeHit1.png" +dest_files=["res://.godot/imported/KnifeHit1.png-2f433b2240ee3b74ce7f49e4905f3ded.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/effects/weapon/MeleeAttack1.png b/DungeonShooting_Godot/resource/sprite/effects/weapon/MeleeAttack1.png new file mode 100644 index 0000000..c22890a --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/weapon/MeleeAttack1.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effects/weapon/MeleeAttack1.png.import b/DungeonShooting_Godot/resource/sprite/effects/weapon/MeleeAttack1.png.import new file mode 100644 index 0000000..1faa5b9 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/weapon/MeleeAttack1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://7jhe2mmctmr1" +path="res://.godot/imported/MeleeAttack1.png-fcea1547355ce99fe204cf5180b8c02d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/effects/weapon/MeleeAttack1.png" +dest_files=["res://.godot/imported/MeleeAttack1.png-fcea1547355ce99fe204cf5180b8c02d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/sprite/effects/weapon/ShotFire.png b/DungeonShooting_Godot/resource/sprite/effects/weapon/ShotFire.png new file mode 100644 index 0000000..5c6d63a --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/weapon/ShotFire.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effects/weapon/ShotFire.png.import b/DungeonShooting_Godot/resource/sprite/effects/weapon/ShotFire.png.import new file mode 100644 index 0000000..66623d6 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/weapon/ShotFire.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0jsyrbk4bydt" +path="res://.godot/imported/ShotFire.png-c837a3bb80e273a615c459f36fadc870.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/effects/weapon/ShotFire.png" +dest_files=["res://.godot/imported/ShotFire.png-c837a3bb80e273a615c459f36fadc870.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/spriteFrames/effect/KnifeHit1.tres b/DungeonShooting_Godot/resource/spriteFrames/effect/KnifeHit1.tres index a491979..e519ec9 100644 --- a/DungeonShooting_Godot/resource/spriteFrames/effect/KnifeHit1.tres +++ b/DungeonShooting_Godot/resource/spriteFrames/effect/KnifeHit1.tres @@ -1,6 +1,6 @@ [gd_resource type="SpriteFrames" load_steps=8 format=3 uid="uid://dj8o7ws03bik4"] -[ext_resource type="Texture2D" uid="uid://dx07ta0asnmuw" path="res://resource/sprite/effects/KnifeHit1.png" id="1_0yl3h"] +[ext_resource type="Texture2D" uid="uid://dx07ta0asnmuw" path="res://resource/sprite/effects/weapon/KnifeHit1.png" id="1_0yl3h"] [sub_resource type="AtlasTexture" id="1"] atlas = ExtResource("1_0yl3h") diff --git a/DungeonShooting_Godot/src/config/ExcelConfig_Weapon.cs b/DungeonShooting_Godot/src/config/ExcelConfig_Weapon.cs index 7c87cef..8f2f8ec 100644 --- a/DungeonShooting_Godot/src/config/ExcelConfig_Weapon.cs +++ b/DungeonShooting_Godot/src/config/ExcelConfig_Weapon.cs @@ -131,16 +131,11 @@ public float BeLoadedTime; /// - /// 连续发射最小次数, 仅当 'ContinuousShoot' 为 false 时生效 + /// 连续发射次数范围, 仅当 'ContinuousShoot' 为 false 时生效
+ /// 格式为[value]或者[min,max] ///
[JsonInclude] - public int MinContinuousCount; - - /// - /// 连续发射最大次数, 仅当 'ContinuousShoot' 为 false 时生效 - /// - [JsonInclude] - public int MaxContinuousCount; + public int[] ContinuousCountRange; /// /// 按下一次扳机后需要多长时间才能再次感应按下 @@ -173,16 +168,11 @@ public float FiringSpeedBackSpeed; /// - /// 单次开火发射子弹最小数量 + /// 单次开火发射子弹数量范围
+ /// 格式为[value]或者[min,max] ///
[JsonInclude] - public int MinFireBulletCount; - - /// - /// 单次开火发射子弹最大数量 - /// - [JsonInclude] - public int MaxFireBulletCount; + public int[] FireBulletCountRange; /// /// 从按下扳机到发射第一发子弹的延时时, 如果中途松开扳机, 那么延时时间会重新计算, 必须将 'LooseShoot' 设置为 false @@ -221,16 +211,11 @@ public float ScatteringRangeBackDelayTime; /// - /// 最小后坐力 (仅用于开火后武器身抖动) + /// 后坐力范围 (仅用于开火后武器身抖动)
+ /// 格式为[value]或者[min,max] ///
[JsonInclude] - public float MinBacklash; - - /// - /// 最大后坐力 (仅用于开火后武器身抖动) - /// - [JsonInclude] - public float MaxBacklash; + public float[] BacklashRange; /// /// 后坐力偏移回归回归速度 @@ -263,53 +248,33 @@ public string BulletId; /// - /// 子弹造成的最大伤害 + /// 子弹造成的伤害范围
+ /// 格式为[value]或者[min,max] ///
[JsonInclude] - public int BulletMaxHarm; + public int[] BulletHarmRange; /// - /// 子弹造成的最小伤害 + /// 子弹偏移角度范围
+ /// 用于设置子弹偏移朝向, 该属性和射半径效果类似, 但与其不同的是, 散射半径是用来控制枪口朝向的, 而该属性是控制子弹朝向的, 可用于制作霰弹枪子弹效果
+ /// 格式为[value]或者[min,max] ///
[JsonInclude] - public int BulletMinHarm; + public float[] BulletDeviationAngleRange; /// - /// 子弹最小偏移角度
- /// 用于设置子弹偏移朝向, 该属性和射半径效果类似, 但与其不同的是, 散射半径是用来控制枪口朝向的, 而该属性是控制子弹朝向的, 可用于制作霰弹枪子弹效果 + /// 子弹初速度范围
+ /// 格式为[value]或者[min,max] ///
[JsonInclude] - public float BulletMinDeviationAngle; + public float[] BulletSpeedRange; /// - /// 子弹最大偏移角度 + /// 子弹飞行距离范围
+ /// 格式为[value]或者[min,max] ///
[JsonInclude] - public float BulletMaxDeviationAngle; - - /// - /// 子弹最大初速度 - /// - [JsonInclude] - public float BulletMaxSpeed; - - /// - /// 子弹最小初速度 - /// - [JsonInclude] - public float BulletMinSpeed; - - /// - /// 子弹飞行最小距离 - /// - [JsonInclude] - public float BulletMinDistance; - - /// - /// 子弹飞行最大距离 - /// - [JsonInclude] - public float BulletMaxDistance; + public float[] BulletDistanceRange; /// /// 默认抛出的弹壳 @@ -331,6 +296,19 @@ public SerializeVector2 ThrowCollisionSize; /// + /// 是否可以触发近战攻击 + /// + [JsonInclude] + public bool CanMeleeAttack; + + /// + /// 近战攻击伤害范围
+ /// 格式为格式为[value]或者[min,max] + ///
+ [JsonInclude] + public int[] MeleeAttackHarmRange; + + /// /// 射击音效 /// public Sound ShootSound; @@ -439,39 +417,34 @@ inst.ManualBeLoaded = ManualBeLoaded; inst.AutoManualBeLoaded = AutoManualBeLoaded; inst.BeLoadedTime = BeLoadedTime; - inst.MinContinuousCount = MinContinuousCount; - inst.MaxContinuousCount = MaxContinuousCount; + inst.ContinuousCountRange = ContinuousCountRange; inst.TriggerInterval = TriggerInterval; inst.StartFiringSpeed = StartFiringSpeed; inst.FinalFiringSpeed = FinalFiringSpeed; inst.FiringSpeedAddSpeed = FiringSpeedAddSpeed; inst.FiringSpeedBackSpeed = FiringSpeedBackSpeed; - inst.MinFireBulletCount = MinFireBulletCount; - inst.MaxFireBulletCount = MaxFireBulletCount; + inst.FireBulletCountRange = FireBulletCountRange; inst.DelayedTime = DelayedTime; inst.StartScatteringRange = StartScatteringRange; inst.FinalScatteringRange = FinalScatteringRange; inst.ScatteringRangeAddValue = ScatteringRangeAddValue; inst.ScatteringRangeBackSpeed = ScatteringRangeBackSpeed; inst.ScatteringRangeBackDelayTime = ScatteringRangeBackDelayTime; - inst.MinBacklash = MinBacklash; - inst.MaxBacklash = MaxBacklash; + inst.BacklashRange = BacklashRange; inst.BacklashRegressionSpeed = BacklashRegressionSpeed; inst.UpliftAngle = UpliftAngle; inst.DefaultAngle = DefaultAngle; inst.UpliftAngleRestore = UpliftAngleRestore; inst.BulletId = BulletId; - inst.BulletMaxHarm = BulletMaxHarm; - inst.BulletMinHarm = BulletMinHarm; - inst.BulletMinDeviationAngle = BulletMinDeviationAngle; - inst.BulletMaxDeviationAngle = BulletMaxDeviationAngle; - inst.BulletMaxSpeed = BulletMaxSpeed; - inst.BulletMinSpeed = BulletMinSpeed; - inst.BulletMinDistance = BulletMinDistance; - inst.BulletMaxDistance = BulletMaxDistance; + inst.BulletHarmRange = BulletHarmRange; + inst.BulletDeviationAngleRange = BulletDeviationAngleRange; + inst.BulletSpeedRange = BulletSpeedRange; + inst.BulletDistanceRange = BulletDistanceRange; inst.ShellId = ShellId; inst.ThrowShellDelayTime = ThrowShellDelayTime; inst.ThrowCollisionSize = ThrowCollisionSize; + inst.CanMeleeAttack = CanMeleeAttack; + inst.MeleeAttackHarmRange = MeleeAttackHarmRange; inst.ShootSound = ShootSound; inst.BeginReloadSound = BeginReloadSound; inst.BeginReloadSoundDelayTime = BeginReloadSoundDelayTime; diff --git a/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs b/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs index d5c52fa..fd0bd6d 100644 --- a/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs +++ b/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs @@ -425,7 +425,7 @@ _prevAnimationFrame = frame; IsShowShadow = true; - CalcTransform(); + CalcShadowTransform(); ShadowSprite.Visible = true; } @@ -659,7 +659,7 @@ { //注意需要延时调用 CallDeferred(nameof(ShowShadowSprite)); - CalcTransform(); + CalcShadowTransform(); } } else @@ -1008,7 +1008,7 @@ _prevAnimationFrame = frame; //计算阴影 - CalcTransform(); + CalcShadowTransform(); } // Hit 动画 @@ -1136,7 +1136,7 @@ /// /// 重新计算物体阴影的位置和旋转信息, 无论是否显示阴影 /// - public void CalcTransform() + public void CalcShadowTransform() { //缩放 ShadowSprite.Scale = AnimatedSprite.Scale; diff --git a/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs b/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs index a94b145..8b3dd8a 100644 --- a/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs +++ b/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs @@ -188,8 +188,8 @@ _activityRegisterMap.Add("shell0001", new RegisterActivityData("res://prefab/shell/Shell0001.tscn", ExcelConfig.ActivityObject_Map["shell0001"])); _activityRegisterMap.Add("shell0002", new RegisterActivityData("res://prefab/shell/Shell0002.tscn", ExcelConfig.ActivityObject_Map["shell0002"])); _activityRegisterMap.Add("shell0003", new RegisterActivityData("res://prefab/shell/Shell0003.tscn", ExcelConfig.ActivityObject_Map["shell0003"])); - _activityRegisterMap.Add("effect0001", new RegisterActivityData("res://prefab/effect/activityObject/Effect0001.tscn", ExcelConfig.ActivityObject_Map["effect0001"])); - _activityRegisterMap.Add("prop0001", new RegisterActivityData("res://prefab/prop/buff/BuffProp0001.tscn", ExcelConfig.ActivityObject_Map["prop0001"])); + _activityRegisterMap.Add("effect0001", new RegisterActivityData("res://prefab/effect/enemy/Effect0001.tscn", ExcelConfig.ActivityObject_Map["effect0001"])); + _activityRegisterMap.Add("prop0001", new RegisterActivityData("res://prefab/effect/enemy/Effect0001.tscn", ExcelConfig.ActivityObject_Map["prop0001"])); _activityRegisterMap.Add("prop0002", new RegisterActivityData("res://prefab/prop/buff/BuffProp0002.tscn", ExcelConfig.ActivityObject_Map["prop0002"])); _activityRegisterMap.Add("prop0003", new RegisterActivityData("res://prefab/prop/buff/BuffProp0003.tscn", ExcelConfig.ActivityObject_Map["prop0003"])); _activityRegisterMap.Add("prop0004", new RegisterActivityData("res://prefab/prop/buff/BuffProp0004.tscn", ExcelConfig.ActivityObject_Map["prop0004"])); diff --git a/DungeonShooting_Godot/src/framework/common/SeedRandom.cs b/DungeonShooting_Godot/src/framework/common/SeedRandom.cs index 35da336..6fd42c4 100644 --- a/DungeonShooting_Godot/src/framework/common/SeedRandom.cs +++ b/DungeonShooting_Godot/src/framework/common/SeedRandom.cs @@ -78,6 +78,22 @@ } /// + /// 根据配置表中配置的范围数据, 随机返回范围内的一个值 + /// + public int RandomConfigRange(int[] range) + { + return RandomRangeInt(Utils.GetConfigRangeStart(range), Utils.GetConfigRangeEnd(range)); + } + + /// + /// 根据配置表中配置的范围数据, 随机返回范围内的一个值 + /// + public float RandomConfigRange(float[] range) + { + return RandomRangeFloat(Utils.GetConfigRangeStart(range), Utils.GetConfigRangeEnd(range)); + } + + /// /// 随机返回其中一个参数 /// public T RandomChoose(params T[] list) diff --git a/DungeonShooting_Godot/src/framework/common/Utils.cs b/DungeonShooting_Godot/src/framework/common/Utils.cs index ea77986..762dad8 100644 --- a/DungeonShooting_Godot/src/framework/common/Utils.cs +++ b/DungeonShooting_Godot/src/framework/common/Utils.cs @@ -1,5 +1,3 @@ -using System; -using System.Collections.Generic; using Godot; /// @@ -171,4 +169,46 @@ return pos.X >= rect2.Position.X && pos.X <= rect2.Position.X + rect2.Size.X && pos.Y >= rect2.Position.Y && pos.Y <= rect2.Position.Y + rect2.Size.Y; } + + /// + /// 返回区域起始值, 用于获取配置表范围配置数据 + /// + public static int GetConfigRangeStart(int[] range) + { + return range[0]; + } + + /// + /// 返回区域结束值, 用于获取配置表范围配置数据 + /// + public static int GetConfigRangeEnd(int[] range) + { + if (range.Length > 1) + { + return range[1]; + } + + return range[0]; + } + + /// + /// 返回区域起始值, 用于获取配置表范围配置数据 + /// + public static float GetConfigRangeStart(float[] range) + { + return range[0]; + } + + /// + /// 返回区域结束值, 用于获取配置表范围配置数据 + /// + public static float GetConfigRangeEnd(float[] range) + { + if (range.Length > 1) + { + return range[1]; + } + + return range[0]; + } } \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/map/preinstall/RoomPreinstall.cs b/DungeonShooting_Godot/src/framework/map/preinstall/RoomPreinstall.cs index 95a74c3..c00452d 100644 --- a/DungeonShooting_Godot/src/framework/map/preinstall/RoomPreinstall.cs +++ b/DungeonShooting_Godot/src/framework/map/preinstall/RoomPreinstall.cs @@ -298,7 +298,7 @@ activityObject.StartCoroutine(OnActivityObjectBirth(activityObject)); activityObject.PutDown(GetDefaultLayer(activityMark)); - var effect1 = ResourceManager.LoadAndInstantiate(ResourcePath.prefab_effect_Effect1_tscn); + var effect1 = ResourceManager.LoadAndInstantiate(ResourcePath.prefab_effect_common_Effect1_tscn); effect1.Position = activityObject.Position + new Vector2(0, -activityMark.Altitude); effect1.AddToActivityRoot(RoomLayerEnum.YSortLayer); } diff --git a/DungeonShooting_Godot/src/game/activity/bullet/Bullet.cs b/DungeonShooting_Godot/src/game/activity/bullet/Bullet.cs index feba74b..1448c50 100644 --- a/DungeonShooting_Godot/src/game/activity/bullet/Bullet.cs +++ b/DungeonShooting_Godot/src/game/activity/bullet/Bullet.cs @@ -89,7 +89,7 @@ if (lastSlideCollision != null) { //创建粒子特效 - var packedScene = ResourceManager.Load(ResourcePath.prefab_effect_BulletSmoke_tscn); + var packedScene = ResourceManager.Load(ResourcePath.prefab_effect_weapon_BulletSmoke_tscn); var smoke = packedScene.Instantiate(); smoke.GlobalPosition = lastSlideCollision.GetPosition(); smoke.GlobalRotation = lastSlideCollision.GetNormal().Angle(); @@ -102,7 +102,7 @@ CurrFlyDistance += FlySpeed * delta; if (CurrFlyDistance >= MaxDistance) { - var packedScene = ResourceManager.Load(ResourcePath.prefab_effect_BulletDisappear_tscn); + var packedScene = ResourceManager.Load(ResourcePath.prefab_effect_weapon_BulletDisappear_tscn); var node = packedScene.Instantiate(); node.GlobalPosition = GlobalPosition; node.AddToActivityRoot(RoomLayerEnum.YSortLayer); @@ -116,7 +116,7 @@ var role = other.AsActivityObject(); if (role != null) { - var packedScene = ResourceManager.Load(ResourcePath.prefab_effect_BulletDisappear_tscn); + var packedScene = ResourceManager.Load(ResourcePath.prefab_effect_weapon_BulletDisappear_tscn); var node = packedScene.Instantiate(); node.GlobalPosition = GlobalPosition; node.AddToActivityRoot(RoomLayerEnum.YSortLayer); diff --git a/DungeonShooting_Godot/src/game/activity/role/Role.cs b/DungeonShooting_Godot/src/game/activity/role/Role.cs index c2ce92b..e66a0d7 100644 --- a/DungeonShooting_Godot/src/game/activity/role/Role.cs +++ b/DungeonShooting_Godot/src/game/activity/role/Role.cs @@ -254,6 +254,8 @@ private long _invincibleFlashingId = -1; //护盾恢复计时器 private float _shieldRecoveryTimer = 0; + //近战计时器 + private float _meleeAttackTimer = 0; /// /// 当血量改变时调用 @@ -405,6 +407,11 @@ _rollCoolingTimer -= delta; } + if (_meleeAttackTimer > 0) + { + _meleeAttackTimer -= delta; + } + //看向目标 if (LookTarget != null) { @@ -894,18 +901,22 @@ /// public virtual void MeleeAttack() { - if (IsMeleeAttack) + if (IsMeleeAttack || _meleeAttackTimer > 0) { return; } - if (WeaponPack.ActiveItem != null) + if (WeaponPack.ActiveItem != null && WeaponPack.ActiveItem.Attribute.CanMeleeAttack) { IsMeleeAttack = true; + _meleeAttackTimer = RoleState.MeleeAttackTime; + MountLookTarget = false; + WeaponPack.ActiveItem.TriggerMeleeAttack(this); //播放近战动画 PlayAnimation_MeleeAttack(() => { + MountLookTarget = true; IsMeleeAttack = false; }); } diff --git a/DungeonShooting_Godot/src/game/activity/role/RoleState.cs b/DungeonShooting_Godot/src/game/activity/role/RoleState.cs index f1c0e91..12085f2 100644 --- a/DungeonShooting_Godot/src/game/activity/role/RoleState.cs +++ b/DungeonShooting_Godot/src/game/activity/role/RoleState.cs @@ -34,7 +34,7 @@ /// /// 单格护盾恢复时间, 单位: 秒 /// - public float ShieldRecoveryTime = 8; + public float ShieldRecoveryTime = 18; /// /// 受伤后的无敌时间, 单位: 秒 @@ -47,6 +47,11 @@ public float ShieldInvincibleTime = 0.4f; /// + /// 近战攻击间隔时间 + /// + public float MeleeAttackTime = 0.6f; + + /// /// 攻击/发射后计算伤害 /// public event Action> CalcDamageEvent; diff --git a/DungeonShooting_Godot/src/game/activity/role/Role_Animation.cs b/DungeonShooting_Godot/src/game/activity/role/Role_Animation.cs index fc3e853..14dac26 100644 --- a/DungeonShooting_Godot/src/game/activity/role/Role_Animation.cs +++ b/DungeonShooting_Godot/src/game/activity/role/Role_Animation.cs @@ -10,8 +10,8 @@ /// public virtual void PlayAnimation_MeleeAttack(Action finish) { - MountLookTarget = false; var r = MountPoint.RotationDegrees; + //var gp = MountPoint.GlobalPosition; var p1 = MountPoint.Position; var p2 = p1 + new Vector2(6, 0).Rotated(Mathf.DegToRad(r - 60)); var p3 = p1 + new Vector2(6, 0).Rotated(Mathf.DegToRad(r + 60)); @@ -21,21 +21,34 @@ tween.TweenProperty(MountPoint, "rotation_degrees", r - 60, 0.15); tween.TweenProperty(MountPoint, "position", p2, 0.15); + tween.TweenProperty(MountPoint, "position", p2, 0.15); tween.Chain(); - + tween.TweenCallback(Callable.From(() => { MountPoint.RotationDegrees = r + 60; MountPoint.Position = p3; + //重新计算武器阴影位置 + var activeItem = WeaponPack.ActiveItem; + activeItem.CalcShadowTransform(); //创建屏幕抖动 if (Face == FaceDirection.Right) { - GameCamera.Main.DirectionalShake(Vector2.FromAngle(Mathf.DegToRad(r - 90)) * 5); + //GameCamera.Main.DirectionalShake(Vector2.FromAngle(Mathf.DegToRad(r - 90)) * 5); + GameCamera.Main.DirectionalShake(Vector2.FromAngle(Mathf.DegToRad(r - 180)) * 5); } else { - GameCamera.Main.DirectionalShake(Vector2.FromAngle(Mathf.DegToRad(270 - r)) * 5); + //GameCamera.Main.DirectionalShake(Vector2.FromAngle(Mathf.DegToRad(270 - r)) * 5); + GameCamera.Main.DirectionalShake(Vector2.FromAngle(Mathf.DegToRad(-r)) * 5); } + //播放特效 + var sprite = ResourceManager.LoadAndInstantiate(ResourcePath.prefab_effect_weapon_MeleeAttack1_tscn); + var localFirePosition = activeItem.GetLocalFirePosition(); + localFirePosition.X *= 0.85f; + sprite.Position = p1 + localFirePosition.Rotated(Mathf.DegToRad(r)); + sprite.RotationDegrees = r; + AddChild(sprite); })); tween.Chain(); @@ -45,7 +58,6 @@ tween.TweenCallback(Callable.From(() => { - MountLookTarget = true; finish(); })); tween.Play(); diff --git a/DungeonShooting_Godot/src/game/activity/role/enemy/Enemy.cs b/DungeonShooting_Godot/src/game/activity/role/enemy/Enemy.cs index 3c327dd..c333c8c 100644 --- a/DungeonShooting_Godot/src/game/activity/role/enemy/Enemy.cs +++ b/DungeonShooting_Godot/src/game/activity/role/enemy/Enemy.cs @@ -119,7 +119,7 @@ var effPos = Position + new Vector2(0, -Altitude); //血液特效 - var blood = ResourceManager.LoadAndInstantiate(ResourcePath.prefab_effect_activityObject_EnemyBloodEffect_tscn); + var blood = ResourceManager.LoadAndInstantiate(ResourcePath.prefab_effect_enemy_EnemyBloodEffect_tscn); blood.Position = effPos - new Vector2(0, 12); blood.AddToActivityRoot(RoomLayerEnum.NormalLayer); @@ -341,7 +341,7 @@ if (WeaponPack.ActiveItem != null) { var attribute = WeaponPack.ActiveItem.Attribute; - return Mathf.Lerp(attribute.BulletMinDistance, attribute.BulletMaxDistance, weight); + return Mathf.Lerp(Utils.GetConfigRangeStart(attribute.BulletDistanceRange), Utils.GetConfigRangeEnd(attribute.BulletDistanceRange), weight); } return 0; diff --git a/DungeonShooting_Godot/src/game/activity/role/enemy/state/AiFollowUpState.cs b/DungeonShooting_Godot/src/game/activity/role/enemy/state/AiFollowUpState.cs index 7bf1d93..e0953eb 100644 --- a/DungeonShooting_Godot/src/game/activity/role/enemy/state/AiFollowUpState.cs +++ b/DungeonShooting_Godot/src/game/activity/role/enemy/state/AiFollowUpState.cs @@ -106,7 +106,7 @@ Master.EnemyAttack(delta); //距离够近, 可以切换到环绕模式 - if (Master.GlobalPosition.DistanceSquaredTo(playerPos) <= Mathf.Pow(weapon.Attribute.BulletMinDistance, 2) * 0.7f) + if (Master.GlobalPosition.DistanceSquaredTo(playerPos) <= Mathf.Pow(Utils.GetConfigRangeStart(weapon.Attribute.BulletDistanceRange), 2) * 0.7f) { ChangeState(AiStateEnum.AiSurround); } diff --git a/DungeonShooting_Godot/src/game/activity/role/enemy/state/AiSurroundState.cs b/DungeonShooting_Godot/src/game/activity/role/enemy/state/AiSurroundState.cs index e8c0827..1e7f4c4 100644 --- a/DungeonShooting_Godot/src/game/activity/role/enemy/state/AiSurroundState.cs +++ b/DungeonShooting_Godot/src/game/activity/role/enemy/state/AiSurroundState.cs @@ -161,7 +161,7 @@ private void RunOver(Vector2 targetPos) { var weapon = Master.WeaponPack.ActiveItem; - var distance = (int)(weapon == null ? 150 : (weapon.Attribute.BulletMinDistance * 0.7f)); + var distance = (int)(weapon == null ? 150 : (Utils.GetConfigRangeStart(weapon.Attribute.BulletDistanceRange) * 0.7f)); _nextPosition = new Vector2( targetPos.X + Utils.Random.RandomRangeInt(-distance, distance), targetPos.Y + Utils.Random.RandomRangeInt(-distance, distance) diff --git a/DungeonShooting_Godot/src/game/activity/role/player/Player.cs b/DungeonShooting_Godot/src/game/activity/role/player/Player.cs index 0227a42..4600a54 100644 --- a/DungeonShooting_Godot/src/game/activity/role/player/Player.cs +++ b/DungeonShooting_Godot/src/game/activity/role/player/Player.cs @@ -125,14 +125,19 @@ Reload(); } + var meleeAttackFlag = false; if (InputManager.MeleeAttack) //近战攻击 { if (StateController.CurrState != PlayerStateEnum.Roll) //不能是翻滚状态 { - MeleeAttack(); + if (WeaponPack.ActiveItem != null && WeaponPack.ActiveItem.Attribute.CanMeleeAttack) + { + meleeAttackFlag = true; + MeleeAttack(); + } } } - else if (InputManager.Fire) //正常开火 + if (!meleeAttackFlag && InputManager.Fire) //正常开火 { if (StateController.CurrState != PlayerStateEnum.Roll) //不能是翻滚状态 { diff --git a/DungeonShooting_Godot/src/game/activity/weapon/Weapon.cs b/DungeonShooting_Godot/src/game/activity/weapon/Weapon.cs index 5ec5fd3..ace9948 100644 --- a/DungeonShooting_Godot/src/game/activity/weapon/Weapon.cs +++ b/DungeonShooting_Godot/src/game/activity/weapon/Weapon.cs @@ -765,8 +765,7 @@ //连发数量 if (!Attribute.ContinuousShoot) { - _continuousCount = - Utils.Random.RandomRangeInt(Attribute.MinContinuousCount, Attribute.MaxContinuousCount); + _continuousCount = Utils.Random.RandomConfigRange(Attribute.ContinuousCountRange); } } @@ -938,7 +937,7 @@ var fireRotation = tempRotation; //开火发射的子弹数量 - var bulletCount = Utils.Random.RandomRangeInt(Attribute.MaxFireBulletCount, Attribute.MinFireBulletCount); + var bulletCount = Utils.Random.RandomConfigRange(Attribute.FireBulletCountRange); if (Master != null) { bulletCount = Master.RoleState.CallCalcBulletCountEvent(this, bulletCount); @@ -966,9 +965,9 @@ if (Master != null) //是否被拾起 { //武器身位置 - var max = Mathf.Abs(Mathf.Max(Attribute.MaxBacklash, Attribute.MinBacklash)); + var max = Mathf.Abs(Mathf.Max(Utils.GetConfigRangeStart(Attribute.BacklashRange), Utils.GetConfigRangeEnd(Attribute.BacklashRange))); _currBacklashLength = Mathf.Clamp( - _currBacklashLength - Utils.Random.RandomRangeFloat(Attribute.MinBacklash, Attribute.MaxBacklash), + _currBacklashLength - Utils.Random.RandomConfigRange(Attribute.BacklashRange), -max, max ); Position = new Vector2(_currBacklashLength, 0).Rotated(Rotation); @@ -1744,6 +1743,22 @@ Master.ThrowWeapon(PackageIndex); } + /// + /// 获取相对于武器本地坐标的开火位置 + /// + public Vector2 GetLocalFirePosition() + { + return AnimatedSprite.Position + FirePoint.Position; + } + + /// + /// 获取相对于武器本地坐标的抛壳位置 + /// + public Vector2 GetLocalShellPosition() + { + return AnimatedSprite.Position + ShellPoint.Position; + } + //-------------------------- ----- 子弹相关 ----------------------------- /// @@ -1789,10 +1804,10 @@ /// protected Bullet ShootBullet(float fireRotation, string bulletId) { - var speed = Utils.Random.RandomRangeFloat(Attribute.BulletMinSpeed, Attribute.BulletMaxSpeed); - var distance = Utils.Random.RandomRangeFloat(Attribute.BulletMinDistance, Attribute.BulletMaxDistance); + var speed = Utils.Random.RandomConfigRange(Attribute.BulletSpeedRange); + var distance = Utils.Random.RandomConfigRange(Attribute.BulletDistanceRange); var deviationAngle = - Utils.Random.RandomRangeFloat(Attribute.BulletMinDeviationAngle, Attribute.BulletMaxDeviationAngle); + Utils.Random.RandomConfigRange(Attribute.BulletDeviationAngleRange); if (Master != null) { speed = Master.RoleState.CallCalcBulletSpeedEvent(this, speed); @@ -1812,8 +1827,8 @@ fireRotation + Mathf.DegToRad(deviationAngle), attackLayer ); - bullet.MinHarm = Attribute.BulletMinHarm; - bullet.MaxHarm = Attribute.BulletMaxHarm; + bullet.MinHarm = Utils.GetConfigRangeStart(Attribute.BulletHarmRange); + bullet.MaxHarm = Utils.GetConfigRangeEnd(Attribute.BulletHarmRange); bullet.PutDown(RoomLayerEnum.YSortLayer); return bullet; } diff --git a/DungeonShooting_Godot/src/game/activity/weapon/gun/Gun.cs b/DungeonShooting_Godot/src/game/activity/weapon/gun/Gun.cs index fe01cd4..0dfeaeb 100644 --- a/DungeonShooting_Godot/src/game/activity/weapon/gun/Gun.cs +++ b/DungeonShooting_Godot/src/game/activity/weapon/gun/Gun.cs @@ -15,11 +15,13 @@ } //创建开火特效 - var packedScene = ResourceManager.Load(ResourcePath.prefab_effect_ShotFire_tscn); - var sprite = packedScene.Instantiate(); - sprite.GlobalPosition = FirePoint.GlobalPosition; - sprite.GlobalRotation = FirePoint.GlobalRotation; - sprite.AddToActivityRoot(RoomLayerEnum.YSortLayer); + var packedScene = ResourceManager.Load(ResourcePath.prefab_effect_weapon_ShotFire_tscn); + var sprite = packedScene.Instantiate(); + // sprite.GlobalPosition = FirePoint.GlobalPosition; + // sprite.GlobalRotation = FirePoint.GlobalRotation; + // sprite.AddToActivityRoot(RoomLayerEnum.YSortLayer); + sprite.Position = GetLocalFirePosition(); + AddChild(sprite); } protected override void OnShoot(float fireRotation) diff --git a/DungeonShooting_Godot/src/game/activity/weapon/knife/Knife.cs b/DungeonShooting_Godot/src/game/activity/weapon/knife/Knife.cs index c754fa0..e9651c8 100644 --- a/DungeonShooting_Godot/src/game/activity/weapon/knife/Knife.cs +++ b/DungeonShooting_Godot/src/game/activity/weapon/knife/Knife.cs @@ -93,7 +93,7 @@ if (activityObject is Role role) { role.CallDeferred(nameof(Role.Hurt), - Utils.Random.RandomRangeInt(Attribute.BulletMinHarm, Attribute.BulletMaxHarm), (role.GetCenterPosition() - GlobalPosition).Angle()); + Utils.Random.RandomConfigRange(Attribute.BulletHarmRange), (role.GetCenterPosition() - GlobalPosition).Angle()); } } } diff --git a/DungeonShooting_Godot/src/game/effects/AutoDestroyEffect.cs b/DungeonShooting_Godot/src/game/effects/AutoDestroyEffect.cs deleted file mode 100644 index c8e2b97..0000000 --- a/DungeonShooting_Godot/src/game/effects/AutoDestroyEffect.cs +++ /dev/null @@ -1,19 +0,0 @@ - -using Godot; - -public partial class AutoDestroyEffect : GpuParticles2D -{ - /// - /// 延时销毁时间 - /// - [Export] - public float DelayTime = 1f; - - public override async void _Ready() - { - Emitting = true; - var sceneTreeTimer = GetTree().CreateTimer(DelayTime); - await ToSignal(sceneTreeTimer, Timer.SignalName.Timeout); - QueueFree(); - } -} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/effects/AutoDestroyParticles.cs b/DungeonShooting_Godot/src/game/effects/AutoDestroyParticles.cs new file mode 100644 index 0000000..e7aba73 --- /dev/null +++ b/DungeonShooting_Godot/src/game/effects/AutoDestroyParticles.cs @@ -0,0 +1,22 @@ + +using Godot; + +/// +/// 到期自动销毁的粒子特效 +/// +public partial class AutoDestroyParticles : GpuParticles2D +{ + /// + /// 延时销毁时间 + /// + [Export] + public float DelayTime { get; set; } = 1f; + + public override async void _Ready() + { + Emitting = true; + var sceneTreeTimer = GetTree().CreateTimer(DelayTime); + await ToSignal(sceneTreeTimer, Timer.SignalName.Timeout); + QueueFree(); + } +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/effects/AutoDestroySprite.cs b/DungeonShooting_Godot/src/game/effects/AutoDestroySprite.cs new file mode 100644 index 0000000..857819d --- /dev/null +++ b/DungeonShooting_Godot/src/game/effects/AutoDestroySprite.cs @@ -0,0 +1,20 @@ +using Godot; + +/// +/// 到期自动销毁的帧动画 +/// +public partial class AutoDestroySprite : AnimatedSprite2D +{ + /// + /// 延时销毁时间 + /// + [Export] + public float DelayTime { get; set; } = 1f; + + public override async void _Ready() + { + var sceneTreeTimer = GetTree().CreateTimer(DelayTime); + await ToSignal(sceneTreeTimer, Timer.SignalName.Timeout); + QueueFree(); + } +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/effects/Effect1.cs b/DungeonShooting_Godot/src/game/effects/Effect1.cs index 7905f99..485bd80 100644 --- a/DungeonShooting_Godot/src/game/effects/Effect1.cs +++ b/DungeonShooting_Godot/src/game/effects/Effect1.cs @@ -1,6 +1,6 @@ using Godot; -public partial class Effect1 : AutoDestroyEffect +public partial class Effect1 : AutoDestroyParticles { public override void _Ready() { diff --git a/DungeonShooting_Godot/src/game/manager/ResourcePath.cs b/DungeonShooting_Godot/src/game/manager/ResourcePath.cs index 3796f08..26f4baa 100644 --- a/DungeonShooting_Godot/src/game/manager/ResourcePath.cs +++ b/DungeonShooting_Godot/src/game/manager/ResourcePath.cs @@ -14,13 +14,14 @@ public const string prefab_bullet_Bullet0002_tscn = "res://prefab/bullet/Bullet0002.tscn"; public const string prefab_bullet_Bullet0003_tscn = "res://prefab/bullet/Bullet0003.tscn"; public const string prefab_effect_Blood_tscn = "res://prefab/effect/Blood.tscn"; - public const string prefab_effect_BulletDisappear_tscn = "res://prefab/effect/BulletDisappear.tscn"; - public const string prefab_effect_BulletSmoke_tscn = "res://prefab/effect/BulletSmoke.tscn"; - public const string prefab_effect_Effect1_tscn = "res://prefab/effect/Effect1.tscn"; - public const string prefab_effect_FirePart_tscn = "res://prefab/effect/FirePart.tscn"; - public const string prefab_effect_ShotFire_tscn = "res://prefab/effect/ShotFire.tscn"; - public const string prefab_effect_activityObject_Effect0001_tscn = "res://prefab/effect/activityObject/Effect0001.tscn"; - public const string prefab_effect_activityObject_EnemyBloodEffect_tscn = "res://prefab/effect/activityObject/EnemyBloodEffect.tscn"; + public const string prefab_effect_common_Effect1_tscn = "res://prefab/effect/common/Effect1.tscn"; + public const string prefab_effect_enemy_Effect0001_tscn = "res://prefab/effect/enemy/Effect0001.tscn"; + public const string prefab_effect_enemy_EnemyBloodEffect_tscn = "res://prefab/effect/enemy/EnemyBloodEffect.tscn"; + public const string prefab_effect_weapon_BulletDisappear_tscn = "res://prefab/effect/weapon/BulletDisappear.tscn"; + public const string prefab_effect_weapon_BulletSmoke_tscn = "res://prefab/effect/weapon/BulletSmoke.tscn"; + public const string prefab_effect_weapon_FirePart_tscn = "res://prefab/effect/weapon/FirePart.tscn"; + public const string prefab_effect_weapon_MeleeAttack1_tscn = "res://prefab/effect/weapon/MeleeAttack1.tscn"; + public const string prefab_effect_weapon_ShotFire_tscn = "res://prefab/effect/weapon/ShotFire.tscn"; public const string prefab_map_RoomDoor_E_tscn = "res://prefab/map/RoomDoor_E.tscn"; public const string prefab_map_RoomDoor_N_tscn = "res://prefab/map/RoomDoor_N.tscn"; public const string prefab_map_RoomDoor_S_tscn = "res://prefab/map/RoomDoor_S.tscn"; @@ -136,13 +137,14 @@ public const string resource_sprite_bullet_bullet0003_png = "res://resource/sprite/bullet/bullet0003.png"; public const string resource_sprite_bullet_bullet2_png = "res://resource/sprite/bullet/bullet2.png"; public const string resource_sprite_effects_Circle_png = "res://resource/sprite/effects/Circle.png"; - public const string resource_sprite_effects_Collision_png = "res://resource/sprite/effects/Collision.png"; public const string resource_sprite_effects_debug_arrows_png = "res://resource/sprite/effects/debug_arrows.png"; - public const string resource_sprite_effects_Effect1_png = "res://resource/sprite/effects/Effect1.png"; public const string resource_sprite_effects_Explosion_png = "res://resource/sprite/effects/Explosion.png"; - public const string resource_sprite_effects_KnifeHit1_png = "res://resource/sprite/effects/KnifeHit1.png"; - public const string resource_sprite_effects_ShotFire_png = "res://resource/sprite/effects/ShotFire.png"; - public const string resource_sprite_effects_Smoke_png = "res://resource/sprite/effects/Smoke.png"; + public const string resource_sprite_effects_common_Effect1_png = "res://resource/sprite/effects/common/Effect1.png"; + public const string resource_sprite_effects_common_Smoke_png = "res://resource/sprite/effects/common/Smoke.png"; + public const string resource_sprite_effects_weapon_Collision1_png = "res://resource/sprite/effects/weapon/Collision1.png"; + public const string resource_sprite_effects_weapon_KnifeHit1_png = "res://resource/sprite/effects/weapon/KnifeHit1.png"; + public const string resource_sprite_effects_weapon_MeleeAttack1_png = "res://resource/sprite/effects/weapon/MeleeAttack1.png"; + public const string resource_sprite_effects_weapon_ShotFire_png = "res://resource/sprite/effects/weapon/ShotFire.png"; public const string resource_sprite_map_map1_16x16dungeoniiwallreconfigv04spritesheet_png = "res://resource/sprite/map/map1/16x16 dungeon ii wall reconfig v04 spritesheet.png"; public const string resource_sprite_map_map1_door1_down_png = "res://resource/sprite/map/map1/door1_down.png"; public const string resource_sprite_map_map1_website_txt = "res://resource/sprite/map/map1/website.txt"; @@ -171,6 +173,29 @@ public const string resource_sprite_role_enemy0001_enemy0001_Icon_png = "res://resource/sprite/role/enemy0001/enemy0001_Icon.png"; public const string resource_sprite_role_role0001_Role0001_png = "res://resource/sprite/role/role0001/Role0001.png"; public const string resource_sprite_role_role0001_Role0001_Icon_png = "res://resource/sprite/role/role0001/Role0001_Icon.png"; + public const string resource_sprite_role_role0001_idle_Sprite0002_png = "res://resource/sprite/role/role0001/idle/Sprite-0002.png"; + public const string resource_sprite_role_role0001_idle_Sprite0003_png = "res://resource/sprite/role/role0001/idle/Sprite-0003.png"; + public const string resource_sprite_role_role0001_idle_Sprite0004_png = "res://resource/sprite/role/role0001/idle/Sprite-0004.png"; + public const string resource_sprite_role_role0001_idle_Sprite0005_png = "res://resource/sprite/role/role0001/idle/Sprite-0005.png"; + public const string resource_sprite_role_role0001_idle_Sprite0006_png = "res://resource/sprite/role/role0001/idle/Sprite-0006.png"; + public const string resource_sprite_role_role0001_idle_Sprite0007_png = "res://resource/sprite/role/role0001/idle/Sprite-0007.png"; + public const string resource_sprite_role_role0001_idle_Sprite0008_png = "res://resource/sprite/role/role0001/idle/Sprite-0008.png"; + public const string resource_sprite_role_role0001_roll_Sprite0002_png = "res://resource/sprite/role/role0001/roll/Sprite-0002.png"; + public const string resource_sprite_role_role0001_roll_Sprite0003_png = "res://resource/sprite/role/role0001/roll/Sprite-0003.png"; + public const string resource_sprite_role_role0001_roll_Sprite0004_png = "res://resource/sprite/role/role0001/roll/Sprite-0004.png"; + public const string resource_sprite_role_role0001_roll_Sprite0005_png = "res://resource/sprite/role/role0001/roll/Sprite-0005.png"; + public const string resource_sprite_role_role0001_roll_Sprite0006_png = "res://resource/sprite/role/role0001/roll/Sprite-0006.png"; + public const string resource_sprite_role_role0001_roll_Sprite0007_png = "res://resource/sprite/role/role0001/roll/Sprite-0007.png"; + public const string resource_sprite_role_role0001_roll_Sprite0008_png = "res://resource/sprite/role/role0001/roll/Sprite-0008.png"; + public const string resource_sprite_role_role0001_roll_Sprite0009_png = "res://resource/sprite/role/role0001/roll/Sprite-0009.png"; + public const string resource_sprite_role_role0001_roll_Sprite0010_png = "res://resource/sprite/role/role0001/roll/Sprite-0010.png"; + public const string resource_sprite_role_role0001_run_Sprite0002_png = "res://resource/sprite/role/role0001/run/Sprite-0002.png"; + public const string resource_sprite_role_role0001_run_Sprite0003_png = "res://resource/sprite/role/role0001/run/Sprite-0003.png"; + public const string resource_sprite_role_role0001_run_Sprite0004_png = "res://resource/sprite/role/role0001/run/Sprite-0004.png"; + public const string resource_sprite_role_role0001_run_Sprite0005_png = "res://resource/sprite/role/role0001/run/Sprite-0005.png"; + public const string resource_sprite_role_role0001_run_Sprite0006_png = "res://resource/sprite/role/role0001/run/Sprite-0006.png"; + public const string resource_sprite_role_role0001_run_Sprite0007_png = "res://resource/sprite/role/role0001/run/Sprite-0007.png"; + public const string resource_sprite_role_role0001_run_Sprite0008_png = "res://resource/sprite/role/role0001/run/Sprite-0008.png"; public const string resource_sprite_shell_Shell0001_png = "res://resource/sprite/shell/Shell0001.png"; public const string resource_sprite_shell_Shell0002_png = "res://resource/sprite/shell/Shell0002.png"; public const string resource_sprite_shell_Shell0003_png = "res://resource/sprite/shell/Shell0003.png";