命中停止技能位移标记

master
chendian 1 year ago
parent 7412ed2b9f
commit 57185025c4

@ -27,7 +27,7 @@ config/icon="res://icon.svg"
[aseprite_importers] [aseprite_importers]
aseprite_executable_path="D:/Steam/steamapps/common/Aseprite/Aseprite.exe" aseprite_executable_path="G:/Steam/steamapps/common/Aseprite/Aseprite.exe"
[autoload] [autoload]
@ -55,7 +55,7 @@ import/use_multiple_threads=false
[editor_plugins] [editor_plugins]
enabled=PackedStringArray("res://addons/MagicaVoxel_Importer_with_Extensions/plugin.cfg", "res://addons/MetroidvaniaSystem/plugin.cfg", "res://addons/beehave/plugin.cfg", "res://addons/resources_spreadsheet_view/plugin.cfg") enabled=PackedStringArray("res://addons/MagicaVoxel_Importer_with_Extensions/plugin.cfg", "res://addons/MetroidvaniaSystem/plugin.cfg", "res://addons/beehave/plugin.cfg", "res://addons/nklbdev.aseprite_importers/plugin.cfg", "res://addons/resources_spreadsheet_view/plugin.cfg")
[file_customization] [file_customization]

@ -0,0 +1,25 @@
[remap]
importer="Aseprite SpriteFrames Import"
type="SpriteFrames"
uid="uid://dhosak07ijfqx"
path="res://.godot/imported/_design_hero02.aseprite-79c77f72114ef9b21fb336c23a90a31d.res"
[deps]
source_file="res://resource/animation/character/_design_hero02.aseprite"
dest_files=["res://.godot/imported/_design_hero02.aseprite-79c77f72114ef9b21fb336c23a90a31d.res"]
[params]
spritesheet/layout=0
spritesheet/fixed_rows_count=1
spritesheet/fixed_columns_count=1
spritesheet/border_type=0
spritesheet/trim=false
spritesheet/ignore_empty=false
spritesheet/merge_duplicates=false
animation/default/name="default"
animation/default/direction=0
animation/default/repeat_count=0
animation/autoplay=""

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://btskck75as5kx"
path="res://.godot/imported/_design_hero02.png-5c1f69d72d2e179329e70b90a8c21702.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resource/animation/character/_design_hero02.png"
dest_files=["res://.godot/imported/_design_hero02.png-5c1f69d72d2e179329e70b90a8c21702.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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

@ -32,88 +32,88 @@ tracks/1/keys = {
tracks/2/type = "value" tracks/2/type = "value"
tracks/2/imported = false tracks/2/imported = false
tracks/2/enabled = true tracks/2/enabled = true
tracks/2/path = NodePath("View:frame") tracks/2/path = NodePath("Status:break_level")
tracks/2/interp = 1 tracks/2/interp = 1
tracks/2/loop_wrap = true tracks/2/loop_wrap = true
tracks/2/keys = { tracks/2/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7), "times": PackedFloat32Array(0, 0.3, 0.5),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1), "transitions": PackedFloat32Array(1, 1, 1),
"update": 1, "update": 1,
"values": [0, 1, 2, 3, 4, 5, 6, 7] "values": [0, 3, 4]
} }
tracks/3/type = "value" tracks/3/type = "value"
tracks/3/imported = false tracks/3/imported = false
tracks/3/enabled = true tracks/3/enabled = true
tracks/3/path = NodePath("Status:break_level") tracks/3/path = NodePath("Status:speed_up_rate")
tracks/3/interp = 1 tracks/3/interp = 1
tracks/3/loop_wrap = true tracks/3/loop_wrap = true
tracks/3/keys = { tracks/3/keys = {
"times": PackedFloat32Array(0, 0.3, 0.5), "times": PackedFloat32Array(0.2, 0.3),
"transitions": PackedFloat32Array(1, 1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [0, 3, 4] "values": [-0.5, -1.0]
} }
tracks/4/type = "value" tracks/4/type = "value"
tracks/4/imported = false tracks/4/imported = false
tracks/4/enabled = true tracks/4/enabled = true
tracks/4/path = NodePath("Status:speed_up_rate") tracks/4/path = NodePath("Status:skill_move_speed")
tracks/4/interp = 1 tracks/4/interp = 1
tracks/4/loop_wrap = true tracks/4/loop_wrap = true
tracks/4/keys = { tracks/4/keys = {
"times": PackedFloat32Array(0.2, 0.3), "times": PackedFloat32Array(0.1, 0.3),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [-0.5, -1.0] "values": [1.0, 0.0]
} }
tracks/5/type = "value" tracks/5/type = "value"
tracks/5/imported = false tracks/5/imported = false
tracks/5/enabled = true tracks/5/enabled = true
tracks/5/path = NodePath("Status:skill_move_speed") tracks/5/path = NodePath("Status:skill_float_speed")
tracks/5/interp = 1 tracks/5/interp = 1
tracks/5/loop_wrap = true tracks/5/loop_wrap = true
tracks/5/keys = { tracks/5/keys = {
"times": PackedFloat32Array(0.1, 0.3), "times": PackedFloat32Array(0, 0.2, 0.4),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1, 1),
"update": 1, "update": 1,
"values": [1.0, 0.0] "values": [0.1, 1.0, 0.0]
} }
tracks/6/type = "value" tracks/6/type = "method"
tracks/6/imported = false tracks/6/imported = false
tracks/6/enabled = true tracks/6/enabled = true
tracks/6/path = NodePath("Status:skill_float_speed") tracks/6/path = NodePath("Battle")
tracks/6/interp = 1 tracks/6/interp = 1
tracks/6/loop_wrap = true tracks/6/loop_wrap = true
tracks/6/keys = { tracks/6/keys = {
"times": PackedFloat32Array(0, 0.2, 0.4), "times": PackedFloat32Array(0.2),
"transitions": PackedFloat32Array(1, 1, 1), "transitions": PackedFloat32Array(1),
"update": 1, "values": [{
"values": [0.1, 1.0, 0.0] "args": [],
"method": &"attack1"
}]
} }
tracks/7/type = "method" tracks/7/type = "method"
tracks/7/imported = false tracks/7/imported = false
tracks/7/enabled = true tracks/7/enabled = true
tracks/7/path = NodePath("Battle") tracks/7/path = NodePath("Effect")
tracks/7/interp = 1 tracks/7/interp = 1
tracks/7/loop_wrap = true tracks/7/loop_wrap = true
tracks/7/keys = { tracks/7/keys = {
"times": PackedFloat32Array(0.2), "times": PackedFloat32Array(0.1),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
"values": [{ "values": [{
"args": [], "args": [],
"method": &"attack1" "method": &"cast_attack_particle1"
}] }]
} }
tracks/8/type = "method" tracks/8/type = "value"
tracks/8/imported = false tracks/8/imported = false
tracks/8/enabled = true tracks/8/enabled = true
tracks/8/path = NodePath("Effect") tracks/8/path = NodePath("View:frame")
tracks/8/interp = 1 tracks/8/interp = 1
tracks/8/loop_wrap = true tracks/8/loop_wrap = true
tracks/8/keys = { tracks/8/keys = {
"times": PackedFloat32Array(0.1), "times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
"values": [{ "update": 1,
"args": [], "values": [0, 1, 2, 3, 4, 5, 6, 7]
"method": &"cast_attack_particle1"
}]
} }

@ -32,88 +32,88 @@ tracks/1/keys = {
tracks/2/type = "value" tracks/2/type = "value"
tracks/2/imported = false tracks/2/imported = false
tracks/2/enabled = true tracks/2/enabled = true
tracks/2/path = NodePath("View:frame") tracks/2/path = NodePath("Status:break_level")
tracks/2/interp = 1 tracks/2/interp = 1
tracks/2/loop_wrap = true tracks/2/loop_wrap = true
tracks/2/keys = { tracks/2/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5), "times": PackedFloat32Array(0, 0.4, 0.5),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), "transitions": PackedFloat32Array(1, 1, 1),
"update": 1, "update": 1,
"values": [0, 1, 2, 3, 4, 5] "values": [0, 3, 4]
} }
tracks/3/type = "value" tracks/3/type = "value"
tracks/3/imported = false tracks/3/imported = false
tracks/3/enabled = true tracks/3/enabled = true
tracks/3/path = NodePath("Status:break_level") tracks/3/path = NodePath("Status:speed_up_rate")
tracks/3/interp = 1 tracks/3/interp = 1
tracks/3/loop_wrap = true tracks/3/loop_wrap = true
tracks/3/keys = { tracks/3/keys = {
"times": PackedFloat32Array(0, 0.4, 0.5), "times": PackedFloat32Array(0.2, 0.3),
"transitions": PackedFloat32Array(1, 1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [0, 3, 4] "values": [-0.5, -1.0]
} }
tracks/4/type = "value" tracks/4/type = "value"
tracks/4/imported = false tracks/4/imported = false
tracks/4/enabled = true tracks/4/enabled = true
tracks/4/path = NodePath("Status:speed_up_rate") tracks/4/path = NodePath("Status:skill_move_speed")
tracks/4/interp = 1 tracks/4/interp = 1
tracks/4/loop_wrap = true tracks/4/loop_wrap = true
tracks/4/keys = { tracks/4/keys = {
"times": PackedFloat32Array(0.2, 0.3), "times": PackedFloat32Array(0.1, 0.3),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [-0.5, -1.0] "values": [1.0, 0.0]
} }
tracks/5/type = "value" tracks/5/type = "value"
tracks/5/imported = false tracks/5/imported = false
tracks/5/enabled = true tracks/5/enabled = true
tracks/5/path = NodePath("Status:skill_move_speed") tracks/5/path = NodePath("Status:skill_float_speed")
tracks/5/interp = 1 tracks/5/interp = 1
tracks/5/loop_wrap = true tracks/5/loop_wrap = true
tracks/5/keys = { tracks/5/keys = {
"times": PackedFloat32Array(0.1, 0.3), "times": PackedFloat32Array(0, 0.2, 0.4),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1, 1),
"update": 1, "update": 1,
"values": [1.0, 0.0] "values": [0.1, 2.0, 0.0]
} }
tracks/6/type = "value" tracks/6/type = "method"
tracks/6/imported = false tracks/6/imported = false
tracks/6/enabled = true tracks/6/enabled = true
tracks/6/path = NodePath("Status:skill_float_speed") tracks/6/path = NodePath("Battle")
tracks/6/interp = 1 tracks/6/interp = 1
tracks/6/loop_wrap = true tracks/6/loop_wrap = true
tracks/6/keys = { tracks/6/keys = {
"times": PackedFloat32Array(0, 0.2, 0.4), "times": PackedFloat32Array(0.2),
"transitions": PackedFloat32Array(1, 1, 1), "transitions": PackedFloat32Array(1),
"update": 1, "values": [{
"values": [0.1, 2.0, 0.0] "args": [],
"method": &"attack1"
}]
} }
tracks/7/type = "method" tracks/7/type = "method"
tracks/7/imported = false tracks/7/imported = false
tracks/7/enabled = true tracks/7/enabled = true
tracks/7/path = NodePath("Battle") tracks/7/path = NodePath("Effect")
tracks/7/interp = 1 tracks/7/interp = 1
tracks/7/loop_wrap = true tracks/7/loop_wrap = true
tracks/7/keys = { tracks/7/keys = {
"times": PackedFloat32Array(0.2), "times": PackedFloat32Array(0.1),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
"values": [{ "values": [{
"args": [], "args": [],
"method": &"attack1" "method": &"cast_attack_particle1"
}] }]
} }
tracks/8/type = "method" tracks/8/type = "value"
tracks/8/imported = false tracks/8/imported = false
tracks/8/enabled = true tracks/8/enabled = true
tracks/8/path = NodePath("Effect") tracks/8/path = NodePath("View:frame")
tracks/8/interp = 1 tracks/8/interp = 1
tracks/8/loop_wrap = true tracks/8/loop_wrap = true
tracks/8/keys = { tracks/8/keys = {
"times": PackedFloat32Array(0.1), "times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"values": [{ "update": 1,
"args": [], "values": [0, 1, 2, 3, 4, 5]
"method": &"cast_attack_particle1"
}]
} }

@ -32,88 +32,88 @@ tracks/1/keys = {
tracks/2/type = "value" tracks/2/type = "value"
tracks/2/imported = false tracks/2/imported = false
tracks/2/enabled = true tracks/2/enabled = true
tracks/2/path = NodePath("View:frame") tracks/2/path = NodePath("Status:break_level")
tracks/2/interp = 1 tracks/2/interp = 1
tracks/2/loop_wrap = true tracks/2/loop_wrap = true
tracks/2/keys = { tracks/2/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5), "times": PackedFloat32Array(0, 0.3, 0.5),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), "transitions": PackedFloat32Array(1, 1, 1),
"update": 1, "update": 1,
"values": [0, 1, 2, 3, 4, 5] "values": [0, 3, 4]
} }
tracks/3/type = "value" tracks/3/type = "value"
tracks/3/imported = false tracks/3/imported = false
tracks/3/enabled = true tracks/3/enabled = true
tracks/3/path = NodePath("Status:break_level") tracks/3/path = NodePath("Status:speed_up_rate")
tracks/3/interp = 1 tracks/3/interp = 1
tracks/3/loop_wrap = true tracks/3/loop_wrap = true
tracks/3/keys = { tracks/3/keys = {
"times": PackedFloat32Array(0, 0.3, 0.5), "times": PackedFloat32Array(0.2, 0.3),
"transitions": PackedFloat32Array(1, 1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [0, 3, 4] "values": [-0.5, -1.0]
} }
tracks/4/type = "value" tracks/4/type = "value"
tracks/4/imported = false tracks/4/imported = false
tracks/4/enabled = true tracks/4/enabled = true
tracks/4/path = NodePath("Status:speed_up_rate") tracks/4/path = NodePath("Status:skill_move_speed")
tracks/4/interp = 1 tracks/4/interp = 1
tracks/4/loop_wrap = true tracks/4/loop_wrap = true
tracks/4/keys = { tracks/4/keys = {
"times": PackedFloat32Array(0.2, 0.3), "times": PackedFloat32Array(0.1, 0.3),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [-0.5, -1.0] "values": [1.0, 0.0]
} }
tracks/5/type = "value" tracks/5/type = "value"
tracks/5/imported = false tracks/5/imported = false
tracks/5/enabled = true tracks/5/enabled = true
tracks/5/path = NodePath("Status:skill_move_speed") tracks/5/path = NodePath("Status:skill_float_speed")
tracks/5/interp = 1 tracks/5/interp = 1
tracks/5/loop_wrap = true tracks/5/loop_wrap = true
tracks/5/keys = { tracks/5/keys = {
"times": PackedFloat32Array(0.1, 0.3), "times": PackedFloat32Array(0, 0.2, 0.4),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1, 1),
"update": 1, "update": 1,
"values": [1.0, 0.0] "values": [0.1, 1.0, 0.0]
} }
tracks/6/type = "value" tracks/6/type = "method"
tracks/6/imported = false tracks/6/imported = false
tracks/6/enabled = true tracks/6/enabled = true
tracks/6/path = NodePath("Status:skill_float_speed") tracks/6/path = NodePath("Battle")
tracks/6/interp = 1 tracks/6/interp = 1
tracks/6/loop_wrap = true tracks/6/loop_wrap = true
tracks/6/keys = { tracks/6/keys = {
"times": PackedFloat32Array(0, 0.2, 0.4), "times": PackedFloat32Array(0.2),
"transitions": PackedFloat32Array(1, 1, 1), "transitions": PackedFloat32Array(1),
"update": 1, "values": [{
"values": [0.1, 1.0, 0.0] "args": [],
"method": &"attack1"
}]
} }
tracks/7/type = "method" tracks/7/type = "method"
tracks/7/imported = false tracks/7/imported = false
tracks/7/enabled = true tracks/7/enabled = true
tracks/7/path = NodePath("Battle") tracks/7/path = NodePath("Effect")
tracks/7/interp = 1 tracks/7/interp = 1
tracks/7/loop_wrap = true tracks/7/loop_wrap = true
tracks/7/keys = { tracks/7/keys = {
"times": PackedFloat32Array(0.2), "times": PackedFloat32Array(0.1),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
"values": [{ "values": [{
"args": [], "args": [],
"method": &"attack1" "method": &"cast_attack_particle1"
}] }]
} }
tracks/8/type = "method" tracks/8/type = "value"
tracks/8/imported = false tracks/8/imported = false
tracks/8/enabled = true tracks/8/enabled = true
tracks/8/path = NodePath("Effect") tracks/8/path = NodePath("View:frame")
tracks/8/interp = 1 tracks/8/interp = 1
tracks/8/loop_wrap = true tracks/8/loop_wrap = true
tracks/8/keys = { tracks/8/keys = {
"times": PackedFloat32Array(0.1), "times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"values": [{ "update": 1,
"args": [], "values": [0, 1, 2, 3, 4, 5]
"method": &"cast_attack_particle1"
}]
} }

@ -89,25 +89,13 @@ tracks/5/keys = {
"method": &"cast_after_image" "method": &"cast_after_image"
}] }]
} }
tracks/6/type = "value" tracks/6/type = "method"
tracks/6/imported = false tracks/6/imported = false
tracks/6/enabled = true tracks/6/enabled = true
tracks/6/path = NodePath("View:frame") tracks/6/path = NodePath("Effect")
tracks/6/interp = 1 tracks/6/interp = 1
tracks/6/loop_wrap = true tracks/6/loop_wrap = true
tracks/6/keys = { tracks/6/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 1,
"values": [0, 1, 2, 3, 4]
}
tracks/7/type = "method"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("Effect")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0.1), "times": PackedFloat32Array(0.1),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
"values": [{ "values": [{
@ -115,3 +103,15 @@ tracks/7/keys = {
"method": &"cast_attack_particle1" "method": &"cast_attack_particle1"
}] }]
} }
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("View:frame")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 1,
"values": [0, 1, 2, 3, 4]
}

@ -18,19 +18,20 @@ shadow_opacity = 0.5
shadow_blur = 0.0 shadow_blur = 0.0
[node name="OmniLight3D" type="OmniLight3D" parent="Light"] [node name="OmniLight3D" type="OmniLight3D" parent="Light"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.65528, 1.65104, 2.25257) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.65528, 2.46471, 3.87274)
visible = false visible = false
omni_range = 12.6107 omni_range = 2.662
[node name="Ground" type="CSGBox3D" parent="."] [node name="OmniLight3D2" type="OmniLight3D" parent="Light"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.4, -1, 3.52) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12.4166, 0.721602, 2.99427)
use_collision = true light_color = Color(1, 0.109804, 0, 1)
size = Vector3(12.8, 2, 7.04) light_energy = 1.001
omni_range = 3.333
[node name="GridMap" type="GridMap" parent="."] [node name="GridMap" type="GridMap" parent="."]
mesh_library = ExtResource("2_d5afl") mesh_library = ExtResource("2_d5afl")
cell_size = Vector3(0.64, 0.64, 0.64) cell_size = Vector3(0.64, 0.64, 0.64)
data = { data = {
"cells": PackedInt32Array(0, 1, 65552, 19, 1, 65552, 19, 0, 65552, 19, 2, 65552, 19, 3, 65552, 19, 7, 65552, 19, 8, 65552, 19, 9, 65552, 19, 10, 65552, 18, 10, 65552, 17, 10, 65552, 16, 10, 65552, 0, 2, 65552, 0, 3, 65552, 0, 9, 65552, 15, 10, 65552, 14, 10, 65552, 13, 10, 65552, 12, 10, 65552, 11, 10, 65552, 8, 10, 65552, 7, 10, 65552, 6, 10, 65552, 5, 10, 65552, 4, 10, 65552, 3, 10, 65552, 2, 10, 65552, 1, 10, 65552, 0, 10, 65552, 0, 65535, 65552, 6, 65535, 65552, 7, 65535, 65552, 8, 65535, 65552, 9, 65535, 65552, 13, 65535, 65552, 14, 65535, 65552, 15, 65535, 65552, 16, 65535, 65552, 65549, 65535, 65552, 65550, 65535, 65552, 65551, 65535, 65552, 65552, 65535, 65552, 65553, 65535, 65552, 65554, 65535, 65552, 9, 10, 65552, 10, 10, 65552, 19, 6, 65552, 19, 5, 65552, 19, 4, 65552, 19, 65535, 65552, 18, 65535, 65552, 17, 65535, 65552, 10, 65535, 65552, 0, 6, 65552, 0, 7, 65552, 0, 8, 65552, 65545, 65535, 65552, 65544, 65535, 65552, 65543, 65535, 65552, 65634, 7, 917504, 65542, 65535, 65552, 65541, 65535, 65552, 65540, 65535, 65552, 65538, 65535, 65552, 65537, 65535, 65552, 65536, 65535, 65552, 65539, 65535, 65552, 65547, 65535, 65552, 65546, 65535, 65552, 65548, 65535, 65552, 65555, 65535, 65552, 1, 65535, 65552, 2, 65535, 65552, 3, 65535, 65552, 4, 65535, 65552, 5, 65535, 65552, 0, 0, 65552, 12, 65535, 65552, 11, 65535, 65552) "cells": PackedInt32Array(0, 1, 1179652, 19, 1, 65567, 19, 0, 65567, 19, 2, 65567, 19, 3, 65567, 19, 7, 65567, 19, 8, 65567, 19, 9, 65567, 19, 10, 65567, 0, 2, 1179652, 0, 3, 1179652, 0, 9, 1179652, 0, 65535, 1179652, 6, 65535, 65567, 7, 65535, 65567, 8, 65535, 65567, 9, 65535, 65567, 13, 65535, 65567, 14, 65535, 65567, 15, 65535, 65567, 16, 65535, 65567, 19, 6, 65567, 19, 65535, 65567, 18, 65535, 65567, 17, 65535, 65567, 10, 65535, 65567, 0, 6, 1179652, 0, 7, 1179652, 0, 8, 1179652, 65634, 7, 917504, 1, 65535, 65567, 2, 65535, 65567, 3, 65535, 65567, 4, 65535, 65567, 5, 65535, 65567, 0, 0, 1179652, 12, 65535, 65567, 11, 65535, 65567, -65535, 0, 30, -65535, 65535, 30, -65534, 65535, 30, -65533, 65535, 30, -65533, 0, 30, -65534, 0, 30, -65532, 0, 30, -65531, 0, 30, -65530, 0, 30, -65529, 0, 30, -65528, 0, 30, -65527, 0, 30, -65526, 0, 30, -65525, 0, 30, -65524, 0, 30, -65523, 0, 30, -65522, 0, 30, -65521, 0, 30, -65520, 0, 30, -65519, 0, 30, -65518, 0, 30, -65517, 0, 30, -65517, 1, 30, -65517, 2, 30, -65517, 3, 30, -65518, 4, 30, -65518, 5, 30, -65517, 4, 30, -65518, 2, 30, -65518, 3, 30, -65518, 1, 30, -65519, 1, 30, -65520, 1, 30, -65521, 1, 30, -65522, 1, 30, -65523, 1, 30, -65524, 1, 30, -65525, 1, 30, -65528, 1, 30, -65530, 1, 30, -65531, 1, 30, -65519, 2, 30, -65517, 5, 30, -65517, 6, 30, -65517, 7, 30, -65517, 8, 30, -65517, 9, 30, -65517, 10, 30, -65518, 10, 30, -65519, 10, 30, -65520, 10, 30, -65520, 9, 30, -65521, 9, 30, -65522, 9, 30, -65523, 9, 30, -65524, 9, 30, -65525, 9, 30, -65526, 9, 30, -65525, 8, 30, -65524, 8, 30, -65523, 8, 30, -65522, 7, 30, -65521, 6, 30, -65520, 6, 30, -65520, 5, 30, -65519, 6, 30, -65519, 7, 30, -65518, 7, 30, -65518, 8, 30, -65519, 8, 30, -65519, 9, 30, -65518, 9, 30, -65521, 8, 30, -65520, 8, 30, -65518, 6, 30, -65520, 7, 30, -65522, 8, 30, -65521, 7, 30, -65519, 5, 30, -65519, 4, 30, -65520, 4, 30, -65521, 5, 30, -65522, 6, 30, -65521, 4, 30, -65519, 3, 30, -65520, 3, 30, -65522, 5, 30, -65521, 3, 30, -65523, 4, 30, -65524, 4, 30, -65523, 3, 30, -65522, 3, 30, -65520, 2, 30, -65523, 5, 30, -65522, 4, 30, -65524, 3, 30, -65525, 4, 30, -65525, 3, 30, -65526, 2, 30, -65527, 3, 30, -65528, 3, 30, -65529, 3, 30, -65530, 3, 30, -65531, 4, 30, -65532, 4, 30, -65532, 3, 30, -65533, 3, 30, -65534, 3, 30, -65534, 2, 30, -65535, 2, 30, -65535, 3, 30, -65535, 4, 30, -65535, 5, 30, -65535, 6, 30, -65535, 7, 30, -65535, 8, 30, -65535, 9, 30, -65535, 10, 30, -65534, 8, 30, -65534, 9, 30, -65533, 9, 30, -65531, 9, 30, -65530, 8, 30, -65529, 8, 30, -65528, 8, 30, -65526, 8, 30, -65527, 9, 30, -65529, 9, 30, -65530, 9, 30, -65527, 8, 30, -65528, 9, 30, -65532, 10, 30, -65533, 10, 30, -65532, 9, 30, -65534, 10, 30, -65531, 8, 30, -65529, 7, 30, -65527, 6, 30, -65526, 6, 30, -65525, 5, 30, -65526, 5, 30, -65528, 5, 30, -65530, 5, 30, -65531, 6, 30, -65532, 6, 30, -65533, 7, 30, -65532, 7, 30, -65531, 7, 30, -65533, 8, 30, -65530, 7, 30, -65529, 6, 30, -65530, 6, 30, -65532, 8, 30, -65531, 5, 30, -65532, 5, 30, -65533, 5, 30, -65533, 4, 30, -65534, 5, 30, -65534, 6, 30, -65534, 7, 30, -65533, 6, 30, -65533, 2, 30, -65534, 4, 30, -65531, 3, 30, -65526, 3, 30, -65529, 2, 30, -65527, 2, 30, -65528, 2, 30, -65531, 2, 30, -65530, 2, 30, -65532, 2, 30, -65529, 4, 30, -65530, 4, 30, -65529, 5, 30, -65524, 7, 30, -65523, 7, 30, -65526, 4, 30, -65528, 4, 30, -65527, 4, 30, -65528, 7, 30, -65528, 6, 30, -65525, 6, 30, -65523, 6, 30, -65526, 7, 30, -65527, 7, 30, -65524, 6, 30, -65525, 7, 30, -65527, 5, 30, -65521, 10, 30, -65522, 10, 30, -65523, 10, 30, -65525, 10, 30, -65526, 10, 30, -65527, 10, 30, -65528, 10, 30, -65529, 10, 30, -65530, 10, 30, -65531, 10, 30, -65524, 10, 30, -65531, 65535, 30, -65530, 65535, 30, -65532, 65535, 30, -65529, 65535, 30, -65528, 65535, 30, -65527, 65535, 30, -65519, 65535, 30, -65517, 65535, 30, -65518, 65535, 30, -65520, 65535, 30, -65521, 65535, 30, -65522, 65535, 30, -65523, 65535, 30, -65524, 65535, 30, -65525, 65535, 30, -65526, 65535, 30, -65524, 5, 30, -65521, 2, 30, -65522, 2, 30, -65523, 2, 30, -65524, 2, 30, -65525, 2, 30, -65526, 1, 30, -65527, 1, 30, -65529, 1, 30, -65532, 1, 30, -65533, 1, 30, -65534, 1, 30, -65535, 1, 30, -65536, 4, 30, -65536, 5, 30, 0, 10, 1179652, 10, 6, 524319, 9, 6, 720927, 8, 6, 655391, 9, 5, 196639, 8, 5, 131103, 10, 5, 1179679, 1, 10, 589855, 2, 10, 589855, 3, 10, 589855, 4, 10, 589855, 5, 10, 589855, 6, 10, 589855, 7, 10, 589855, 8, 10, 589855, 9, 10, 589855, 10, 10, 589855, 11, 10, 589855, 12, 10, 589855, 13, 10, 589855, 14, 10, 589855, 15, 10, 589855, 16, 10, 589855, 17, 10, 589855, 18, 10, 589855, 65536, 3, 524292, 65536, 2, 524292, 65536, 1, 524292, 65536, 0, 524292, 65536, 65535, 524292, 65536, 6, 524292, 65536, 7, 524292, 65536, 8, 524292, 65536, 10, 524292, 65536, 9, 524292, 1, 3, 25, 2, 3, 25, 1, 6, 25, 2, 6, 25)
} }
metadata/_editor_floor_ = Vector3(0, 0, 0) metadata/_editor_floor_ = Vector3(0, 0, 0)

@ -308,7 +308,6 @@ offset_bottom = 40.0
script = ExtResource("3_6chl0") script = ExtResource("3_6chl0")
[node name="LoadingPage" type="Control" parent="."] [node name="LoadingPage" type="Control" parent="."]
visible = false
layout_mode = 3 layout_mode = 3
anchors_preset = 0 anchors_preset = 0
offset_right = 40.0 offset_right = 40.0

@ -11,8 +11,8 @@ const input_alive_time: float = 0.5
const drag_ground: float = 20 const drag_ground: float = 20
const drag_air: float = 5 const drag_air: float = 5
#地图 #地图
#const starting_level : String = "level01_forecourt.tscn" const starting_level : String = "level02_01.tscn"
const starting_level: String = "level00_test1.tscn" #const starting_level: String = "level00_test1.tscn"
const level_loading_min_time: float = 0.5 const level_loading_min_time: float = 0.5
const level_loading_control_time: float = 0.2 const level_loading_control_time: float = 0.2
#ui #ui

@ -168,6 +168,11 @@ func settle(hit_info: HitInfo) -> bool:
character_to.add_buff("hit_back", attack.hit_back_duration) character_to.add_buff("hit_back", attack.hit_back_duration)
character_to.add_buff("hit_up", attack.hit_up_duration) character_to.add_buff("hit_up", attack.hit_up_duration)
#停止自身位移
if attack.is_stop_self:
character_from.move_stop()
character_from.set_status("skill_move_stop", true)
#受击特效 #受击特效
match attack.damage_type: match attack.damage_type:
Enum.EDamageType.Sharp: character_to.cast_particle(ResourceManager.particle_hit_sharp, false) Enum.EDamageType.Sharp: character_to.cast_particle(ResourceManager.particle_hit_sharp, false)

@ -12,7 +12,7 @@ class BuffInfo:
var duration: float var duration: float
var ignore_pause: bool var ignore_pause: bool
var buff_map: Dictionary = {} #命中信息 var buff_map: Dictionary = {} #buff信息
func _process(delta): func _process(delta):

@ -66,9 +66,9 @@ func is_on_stair()->bool:
func raycast_stair(dir: Vector3)->bool: func raycast_stair(dir: Vector3)->bool:
var width: float = Setting.pixel_size * status.cfg.sprite_width var width: float = Setting.pixel_size * status.cfg.sprite_width
var from = position + Vector3.UP * Setting.pixel_size * 6 + dir * width * 0.4 var from: Vector3 = position + (Vector3.UP * Setting.pixel_size * 6) + (dir * width * 0.4)
var to = from + dir * width * 0.2 var to: Vector3 = from + dir * width * 0.2
var up = to + Vector3.UP * Setting.pixel_size * 4 var up: Vector3 = to + Vector3.UP * Setting.pixel_size * 4
return Util.raycast_wall(from, to) and Util.raycast_wall(up, to) return Util.raycast_wall(from, to) and Util.raycast_wall(up, to)

@ -6,7 +6,7 @@ class_name Hitbox
@onready var character: Character = (get_owner() as Character) @onready var character: Character = (get_owner() as Character)
var radius: float var radius: float
var pushbox_list: Array[Variant] = [] var pushbox_list: Array[Hitbox] = []
func _ready(): func _ready():

@ -38,7 +38,7 @@ func update_on_floor(delta) -> bool:
func update_speed_y(delta): func update_speed_y(delta):
var has_y_speed = status.skill_float_speed != 0 or status.hit_up_speed != 0 var has_y_speed: bool = (status.skill_float_speed != 0) or (status.hit_up_speed != 0)
var is_on_stair: bool = character.is_on_stair() var is_on_stair: bool = character.is_on_stair()
if has_y_speed: if has_y_speed:
character.velocity.y = status.skill_float_speed + status.hit_up_speed character.velocity.y = status.skill_float_speed + status.hit_up_speed
@ -53,12 +53,12 @@ func update_speed_y(delta):
func update_move(delta): func update_move(delta):
var move_velocity: Vector2 = status.move_dir.normalized() * (status.cfg.move.speed * (1 + status.speed_up_rate)) var move_velocity: Vector2 = status.move_dir.normalized() * (status.cfg.move.speed * (1 + status.speed_up_rate))
var skill_velocity: Vector2 = status.skill_dir * status.skill_move_speed var skill_velocity: Vector2 = status.skill_dir * status.skill_move_speed if not status.skill_move_stop else Vector2.ZERO
var hit_back_velocity: Vector2 = status.hit_back_dir * status.hit_back_speed var hit_back_velocity: Vector2 = status.hit_back_dir * status.hit_back_speed
move_velocity += skill_velocity + hit_back_velocity move_velocity += skill_velocity + hit_back_velocity
status.speed_dir = Vector2(move_velocity.x, move_velocity.y) status.speed_dir = Vector2(move_velocity.x, move_velocity.y)
if status.skill_move_speed >0: if skill_velocity.length() >0:
move_velocity *= (1-status.speed_down_push_rate) move_velocity *= (1-status.speed_down_push_rate)
if move_velocity.length() == 0: if move_velocity.length() == 0:
move_velocity = Vector2(character.velocity.x, character.velocity.z); move_velocity = Vector2(character.velocity.x, character.velocity.z);
@ -78,8 +78,8 @@ func update_move(delta):
func update_deformation(delta): func update_deformation(delta):
var velocity_change_x: float = status.velocity_change.x var velocity_change_x: float = status.velocity_change.x
var velocity_change_y: float = status.velocity_change.y + status.velocity_change.z var velocity_change_y: float = status.velocity_change.y + status.velocity_change.z
var dir_x: int = 1 if velocity_change_x > 1 or velocity_change_y < -1 else 0 var dir_x: int = 1 if (velocity_change_x > 1) or (velocity_change_y < -1) else 0
var dir_y: int = 1 if velocity_change_y > 1 or velocity_change_x < -1 else 0 var dir_y: int = 1 if (velocity_change_y > 1) or (velocity_change_x < -1) else 0
if dir_x or dir_y: if dir_x or dir_y:
status.deformation_dir=Vector2(dir_x, dir_y) status.deformation_dir=Vector2(dir_x, dir_y)
character.add_buff("deformation", 0.2) character.add_buff("deformation", 0.2)

@ -37,6 +37,8 @@ func cast_skill(cfg: SkillCfg, cast_dir: Vector2):
status.skill_cfg = cfg status.skill_cfg = cfg
status.skill_dir = cast_dir status.skill_dir = cast_dir
status.break_level = Enum.EBreakLevel.None status.break_level = Enum.EBreakLevel.None
status.speed_down_push_rate = 0
status.skill_move_stop = false
if cast_dir.x != 0: status.is_right = cast_dir.x > 0 if cast_dir.x != 0: status.is_right = cast_dir.x > 0
play(animation_name, -1, Setting.animation_speed_scale) play(animation_name, -1, Setting.animation_speed_scale)
else: else:
@ -53,6 +55,8 @@ func break_skill():
status.is_skill_running = false status.is_skill_running = false
status.skill_cfg = null status.skill_cfg = null
status.break_level = Enum.EBreakLevel.Walk status.break_level = Enum.EBreakLevel.Walk
status.speed_down_push_rate = 0
status.skill_move_stop = false
effect.release_effect() effect.release_effect()

@ -59,6 +59,7 @@ class_name Status
@export var is_skill_running: bool #技能是否正在释放 @export var is_skill_running: bool #技能是否正在释放
@export var skill_dir: Vector2 #技能释放方向 @export var skill_dir: Vector2 #技能释放方向
@export var skill_move_speed: float #技能位移速度 @export var skill_move_speed: float #技能位移速度
@export var skill_move_stop: bool #技能位移速度是否停止生效
@export var skill_float_speed: float #技能y位移速度 @export var skill_float_speed: float #技能y位移速度
@export_category("玩家技能状态") @export_category("玩家技能状态")
@export var input_dir: Vector2 #指令方向 @export var input_dir: Vector2 #指令方向

@ -10,6 +10,7 @@ class_name AttackCfg
@export var is_floating: bool #是否浮空技 @export var is_floating: bool #是否浮空技
@export var is_hit_down: bool #是否击落技 @export var is_hit_down: bool #是否击落技
@export var is_rebound: bool #是否地面反弹技能 @export var is_rebound: bool #是否地面反弹技能
@export var is_stop_self: bool = true #是否命中时停止自身位移
@export_group("强制位移") @export_group("强制位移")
@export var hit_back_speed: float #击退速度 @export var hit_back_speed: float #击退速度
@export var hit_up_speed: float #击飞速度 @export var hit_up_speed: float #击飞速度

Loading…
Cancel
Save