diff --git a/components/Bullets/Volcano.tscn b/components/Bullets/Volcano.tscn index f6caf80..ef18756 100644 --- a/components/Bullets/Volcano.tscn +++ b/components/Bullets/Volcano.tscn @@ -79,6 +79,42 @@ tracks/5/keys = { "update": 1, "values": [false] } +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("anchor/textureSword/trailRight:visible") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("anchor/textureSword/trailLine:visible") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("%textureSword/trailLeft:visible") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} [sub_resource type="Animation" id="Animation_oinqg"] resource_name = "destroy" @@ -199,6 +235,42 @@ tracks/7/keys = { "update": 1, "values": [true, false, true, false, true, false, true, false, true] } +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("anchor/textureSword/trailRight:visible") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0, 0.8, 0.95, 1.35), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [false, true, false, false] +} +tracks/9/type = "value" +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/path = NodePath("anchor/textureSword/trailLine:visible") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"times": PackedFloat32Array(0, 0.15, 0.2, 1.65, 1.8), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 1, +"values": [false, true, false, true, false] +} +tracks/10/type = "value" +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/path = NodePath("%textureSword/trailLeft:visible") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = { +"times": PackedFloat32Array(0, 1.2, 1.35), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [false, true, false] +} [sub_resource type="AnimationLibrary" id="AnimationLibrary_w1utg"] _data = { @@ -207,6 +279,51 @@ _data = { &"spawn": SubResource("Animation_o5h0y") } +[sub_resource type="Curve" id="Curve_1sgli"] +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="CurveTexture" id="CurveTexture_b5nxd"] +curve = SubResource("Curve_1sgli") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_xrrxo"] +particle_flag_disable_z = true +direction = Vector3(1, 1, 0) +spread = 0.0 +initial_velocity_min = 100.0 +initial_velocity_max = 100.0 +gravity = Vector3(0, 0, 0) +tangential_accel_min = 99.99999 +tangential_accel_max = 99.99999 +alpha_curve = SubResource("CurveTexture_b5nxd") + +[sub_resource type="Curve" id="Curve_b5nxd"] +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="CurveTexture" id="CurveTexture_xrrxo"] +curve = SubResource("Curve_b5nxd") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_b5pv2"] +particle_flag_disable_z = true +direction = Vector3(-1, -1, 0) +spread = 0.0 +initial_velocity_min = 100.0 +initial_velocity_max = 100.0 +gravity = Vector3(0, 0, 0) +tangential_accel_min = -100.0 +tangential_accel_max = -100.0 +alpha_curve = SubResource("CurveTexture_xrrxo") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_1sgli"] +particle_flag_disable_z = true +direction = Vector3(-1, 1, 0) +spread = 0.0 +initial_velocity_min = 300.0 +initial_velocity_max = 300.0 +gravity = Vector3(0, 0, 0) +alpha_curve = SubResource("CurveTexture_b5nxd") + [sub_resource type="RectangleShape2D" id="RectangleShape2D_1sgli"] size = Vector2(23.999994, 153) @@ -233,6 +350,30 @@ texture = ExtResource("2_wwxm2") [node name="audio" type="AudioStreamPlayer2D" parent="texture/anchor/textureSword" index="0" unique_id=167399724] +[node name="trailRight" type="GPUParticles2D" parent="texture/anchor/textureSword" index="1" unique_id=1304800613] +z_index = -1 +amount = 12 +texture = ExtResource("2_wwxm2") +preprocess = 2.0 +local_coords = true +process_material = SubResource("ParticleProcessMaterial_xrrxo") + +[node name="trailLeft" type="GPUParticles2D" parent="texture/anchor/textureSword" index="2" unique_id=1450319379] +visible = false +z_index = -1 +texture = ExtResource("2_wwxm2") +preprocess = 2.0 +local_coords = true +process_material = SubResource("ParticleProcessMaterial_b5pv2") + +[node name="trailLine" type="GPUParticles2D" parent="texture/anchor/textureSword" index="3" unique_id=946145693] +z_index = -1 +amount = 12 +texture = ExtResource("2_wwxm2") +preprocess = 2.0 +local_coords = true +process_material = SubResource("ParticleProcessMaterial_1sgli") + [node name="hitbox" parent="." index="1" unique_id=175349408 node_paths=PackedStringArray("target")] position = Vector2(199.99998, 0.081461266) rotation = 0.00040731629 diff --git a/components/CharacterCards/MuyangDog.tscn b/components/CharacterCards/MuyangDog.tscn index f0fce00..83cac88 100644 --- a/components/CharacterCards/MuyangDog.tscn +++ b/components/CharacterCards/MuyangDog.tscn @@ -21,7 +21,7 @@ slogan = "恪守使命不离不弃" avatar = ExtResource("2_fi2nw") description = "每隔3秒发动格挡。" fields = Array[int]([0, 8, 3]) -fieldValues = Array[float]([50.0, 0.15, -0.35]) +fieldValues = Array[float]([100.0, 0.2, 0.0]) [node name="avatarTexture" parent="wrapper" parent_id_path=PackedInt32Array(2023039659) index="0" unique_id=1334645594] texture = ExtResource("2_fi2nw") diff --git a/scripts/Contents/Bullets/Volcano.gd b/scripts/Contents/Bullets/Volcano.gd index 8ff8462..2b8b8b8 100644 --- a/scripts/Contents/Bullets/Volcano.gd +++ b/scripts/Contents/Bullets/Volcano.gd @@ -10,6 +10,7 @@ var dmg5: float = 0 var splitAngle: float = 10 func spawn(): + animator.speed_scale = launcher.fields[FieldStore.Entity.ATTACK_SPEED] * 0.75 setupCuttable(0.2) func ai(): PresetBulletAI.lockLauncher(self , launcher, true) diff --git a/scripts/Statemachine/BulletBase.gd b/scripts/Statemachine/BulletBase.gd index fcfe966..fdeb8c1 100644 --- a/scripts/Statemachine/BulletBase.gd +++ b/scripts/Statemachine/BulletBase.gd @@ -131,13 +131,13 @@ func setupCuttable(cutSpeed: float): func(body): var entity = EntityTool.fromHurtbox(body) if entity: - speedScale = cutSpeed + speedScale *= cutSpeed ) area_exited.connect( func(body): var entity = EntityTool.fromHurtbox(body) if entity: - speedScale = 1 + speedScale /= cutSpeed ) func getDamage(): return baseDamage * damageMultipliers[usingDamageMultiplier] diff --git a/scripts/Tools/FieldStore.gd b/scripts/Tools/FieldStore.gd index 062fdfc..ef48660 100644 --- a/scripts/Tools/FieldStore.gd +++ b/scripts/Tools/FieldStore.gd @@ -116,15 +116,19 @@ static var entityMinValueMap = { Entity.DAMAGE_MULTIPILER: 0.01 } static var entityApplier = { - Entity.MAX_HEALTH: func(entity: EntityBase, value): + Entity.MAX_HEALTH: func(entity: EntityBase, value: float): entity.health += value entity.statebar.forceSync() return true , - Entity.EXTRA_APPLE_MAX: func(entity, value): + Entity.EXTRA_APPLE_MAX: func(entity: EntityBase, value: float): entity.inventoryMax[ItemStore.ItemType.APPLE] += value return true , + Entity.MAX_ENERGY: func(entity: EntityBase, value: float): + entity.energy += value + return true + , } static var entityViewCastMap = { Entity.EXTRA_APPLE_MAX: func(entity, _value):