From 4f30086e52fa47fc52fd3dc5cba1c0b719a67bba Mon Sep 17 00:00:00 2001 From: Zenny Date: Mon, 17 Mar 2025 19:39:30 -0700 Subject: [PATCH] Fix up animations for ballos --- Zennysoft.Game.Ma/src/enemy/Enemy.cs | 2 +- .../02. michael/MichaelModelView.tscn | 6 +-- .../enemy/enemy_types/05. ballos/Ballos.tscn | 5 --- .../05. ballos/BallosModelView.tscn | 45 ++++++++----------- 4 files changed, 22 insertions(+), 36 deletions(-) diff --git a/Zennysoft.Game.Ma/src/enemy/Enemy.cs b/Zennysoft.Game.Ma/src/enemy/Enemy.cs index 6f794e26..36da7e63 100644 --- a/Zennysoft.Game.Ma/src/enemy/Enemy.cs +++ b/Zennysoft.Game.Ma/src/enemy/Enemy.cs @@ -91,7 +91,7 @@ public partial class Enemy : CharacterBody3D, IEnemy, IProvide return; var lookDir = GlobalPosition + Velocity; - if (!lookDir.IsEqualApprox(GlobalPosition) || !Velocity.IsZeroApprox()) + if (!lookDir.IsEqualApprox(GlobalPosition)) LookAt(lookDir, Vector3.Up, true); var isWalking = _enemyLogic.Value is EnemyLogic.State.Patrolling or EnemyLogic.State.FollowPlayer; diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/MichaelModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/MichaelModelView.tscn index f37c5e56..135c9de7 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/MichaelModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/MichaelModelView.tscn @@ -628,10 +628,8 @@ switch_mode = 2 switch_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bmy1k"] -switch_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mxl7w"] -switch_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7jsk6"] advance_mode = 2 @@ -715,9 +713,9 @@ states/idle_left/position = Vector2(77, 151.947) states/idle_left_walk/node = SubResource("AnimationNodeAnimation_dvj10") states/idle_left_walk/position = Vector2(318, 248.947) states/primary_attack/node = SubResource("AnimationNodeAnimation_erbrx") -states/primary_attack/position = Vector2(1151, 86.9474) +states/primary_attack/position = Vector2(1257, 48.9474) transitions = ["idle_front_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_3xv6a"), "idle_left_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_0h1op"), "idle_front_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_361b7"), "idle_back_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_wftla"), "idle_back_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_gqqkl"), "idle_left_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_5cj36"), "idle_front_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_4t05h"), "primary_attack", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_8hgxu"), "primary_attack", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_fq2yw"), "primary_attack", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_yqm0k"), "idle_back_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_bmy1k"), "idle_left_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_mxl7w"), "Start", "idle_front", SubResource("AnimationNodeStateMachineTransition_7jsk6"), "idle_front", "idle_back", SubResource("AnimationNodeStateMachineTransition_nntdb"), "idle_front", "idle_left", SubResource("AnimationNodeStateMachineTransition_1br6i"), "idle_left", "idle_front", SubResource("AnimationNodeStateMachineTransition_2m7tq"), "idle_back", "idle_front", SubResource("AnimationNodeStateMachineTransition_d2pq5"), "idle_back", "idle_left", SubResource("AnimationNodeStateMachineTransition_p18ld"), "idle_left", "idle_back", SubResource("AnimationNodeStateMachineTransition_8kbdd"), "idle_front", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_nb2qv"), "idle_front_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_nqbx0"), "idle_front", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_4depw"), "idle_back_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_fegyx"), "idle_front", "primary_attack", SubResource("AnimationNodeStateMachineTransition_eh46c"), "primary_attack", "idle_front", SubResource("AnimationNodeStateMachineTransition_dgujy"), "idle_back", "primary_attack", SubResource("AnimationNodeStateMachineTransition_6ogef"), "primary_attack", "idle_back", SubResource("AnimationNodeStateMachineTransition_cvhi5"), "idle_left", "primary_attack", SubResource("AnimationNodeStateMachineTransition_e3x3h"), "primary_attack", "idle_left", SubResource("AnimationNodeStateMachineTransition_mqikf"), "idle_left", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_ide2k"), "idle_left_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_114qx"), "idle_left", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_smnr6"), "idle_back_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_g6ih4"), "idle_left", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_odtr7"), "idle_front_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_off5l")] -graph_offset = Vector2(-190, -100.703) +graph_offset = Vector2(-154, -269.574) [node name="EnemyModelView" type="Node3D"] script = ExtResource("1_o4cc2") diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/Ballos.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/Ballos.tscn index b34b07b9..dc7fa2b3 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/Ballos.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/Ballos.tscn @@ -41,12 +41,7 @@ collision_mask = 11 axis_lock_linear_y = true axis_lock_angular_x = true script = ExtResource("1_v2urn") -PrimaryAttackElementalType = null -PrimaryAttackElementalDamageBonus = null -SecondaryAttackElementalType = null -SecondaryAttackElementalDamageBonus = null _enemyStatResource = SubResource("Resource_ko6aj") -_movementSpeed = null [node name="CollisionShape" type="CollisionShape3D" parent="."] unique_name_in_owner = true diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/BallosModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/BallosModelView.tscn index 707b02b7..5eb09611 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/BallosModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/BallosModelView.tscn @@ -302,8 +302,8 @@ animations = [{ "speed": 5.0 }] -[sub_resource type="BoxShape3D" id="BoxShape3D_53wuj"] -size = Vector3(1, 0.565, 2) +[sub_resource type="BoxShape3D" id="BoxShape3D_l4fpo"] +size = Vector3(2, 1, 2) [sub_resource type="Animation" id="Animation_wcevu"] length = 0.001 @@ -376,6 +376,7 @@ tracks/1/keys = { [sub_resource type="Animation" id="Animation_yaauq"] resource_name = "idle_back_walk" length = 1.16668 +loop_mode = 1 step = 0.0833333 tracks/0/type = "value" tracks/0/imported = false @@ -434,6 +435,7 @@ tracks/1/keys = { [sub_resource type="Animation" id="Animation_s5vq8"] resource_name = "idle_front_walk" length = 1.25001 +loop_mode = 1 step = 0.0833333 tracks/0/type = "value" tracks/0/imported = false @@ -553,7 +555,7 @@ tracks/2/path = NodePath("Hitbox/CollisionShape3D:disabled") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 0.425299, 0.667065), +"times": PackedFloat32Array(0, 0.335728, 0.749375), "transitions": PackedFloat32Array(1, 1, 1), "update": 1, "values": [true, false, true] @@ -594,7 +596,7 @@ tracks/2/path = NodePath("Hitbox/CollisionShape3D:disabled") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 0.16751, 0.338977), +"times": PackedFloat32Array(0, 0.170269, 0.333333), "transitions": PackedFloat32Array(1, 1, 1), "update": 1, "values": [true, false, true] @@ -638,10 +640,8 @@ animation = &"primary_attack" animation = &"secondary_attack" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2ybyh"] -switch_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kg6hd"] -switch_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qq0ru"] advance_mode = 2 @@ -653,10 +653,8 @@ switch_mode = 1 switch_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yjcrh"] -switch_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_h1yxw"] -switch_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_361b7"] switch_mode = 1 @@ -665,32 +663,28 @@ switch_mode = 1 switch_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0jqty"] -switch_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2le5t"] -switch_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4nmgu"] -switch_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jbtxi"] -switch_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qmo72"] switch_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jyt1n"] +switch_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5un2v"] switch_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6a5nw"] +switch_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_n454k"] -switch_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vrcjv"] -switch_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mw5r6"] @@ -709,6 +703,7 @@ switch_mode = 1 switch_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_25i3y"] +switch_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5g722"] switch_mode = 1 @@ -737,10 +732,8 @@ switch_mode = 2 switch_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bmy1k"] -switch_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mxl7w"] -switch_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_al2xs"] @@ -791,23 +784,23 @@ switch_mode = 2 states/End/position = Vector2(1466, 104) states/Start/position = Vector2(92, 119) states/idle_back/node = SubResource("AnimationNodeAnimation_53wuj") -states/idle_back/position = Vector2(180.116, -35) +states/idle_back/position = Vector2(242.116, -584) states/idle_back_walk/node = SubResource("AnimationNodeAnimation_o0tmb") -states/idle_back_walk/position = Vector2(676, -8.0526) +states/idle_back_walk/position = Vector2(673, -265.053) states/idle_front/node = SubResource("AnimationNodeAnimation_d5bmw") -states/idle_front/position = Vector2(404.116, 45.9474) +states/idle_front/position = Vector2(492, 49.9474) states/idle_front_walk/node = SubResource("AnimationNodeAnimation_a6s5c") -states/idle_front_walk/position = Vector2(644, -100) +states/idle_front_walk/position = Vector2(1091.45, -488) states/idle_left/node = SubResource("AnimationNodeAnimation_fpvxl") -states/idle_left/position = Vector2(367.116, 119) +states/idle_left/position = Vector2(-67.884, -159) states/idle_left_walk/node = SubResource("AnimationNodeAnimation_dvj10") -states/idle_left_walk/position = Vector2(439, 242.947) +states/idle_left_walk/position = Vector2(492, 495.947) states/primary_attack/node = SubResource("AnimationNodeAnimation_erbrx") -states/primary_attack/position = Vector2(1301, 134.947) +states/primary_attack/position = Vector2(1428, -8.0526) states/secondary_attack/node = SubResource("AnimationNodeAnimation_l4fpo") states/secondary_attack/position = Vector2(1103.45, 400.831) transitions = ["idle_back", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_2ybyh"), "idle_back_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_kg6hd"), "Start", "idle_front", SubResource("AnimationNodeStateMachineTransition_qq0ru"), "idle_front", "idle_back", SubResource("AnimationNodeStateMachineTransition_c54uj"), "idle_back", "idle_front", SubResource("AnimationNodeStateMachineTransition_2x3nl"), "idle_front", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_yjcrh"), "idle_back_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_h1yxw"), "idle_front_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_361b7"), "idle_back_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_wftla"), "idle_back", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_0jqty"), "idle_front_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_2le5t"), "idle_front_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_4nmgu"), "idle_front", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_jbtxi"), "idle_back", "idle_left", SubResource("AnimationNodeStateMachineTransition_qmo72"), "idle_left", "idle_front", SubResource("AnimationNodeStateMachineTransition_jyt1n"), "idle_left", "idle_back", SubResource("AnimationNodeStateMachineTransition_5un2v"), "idle_front", "idle_left", SubResource("AnimationNodeStateMachineTransition_6a5nw"), "idle_left", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_n454k"), "idle_back_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_vrcjv"), "idle_front_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_mw5r6"), "idle_left", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_mjxlk"), "idle_front_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_3xv6a"), "idle_left_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_0h1op"), "idle_back_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_gqqkl"), "idle_left_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_5cj36"), "idle_back", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_25i3y"), "idle_left", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_5g722"), "idle_front", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_a6y4x"), "idle_left_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_7y7m4"), "idle_left_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_ldcvv"), "idle_left_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_aalmk"), "idle_front_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_4t05h"), "primary_attack", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_8hgxu"), "primary_attack", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_fq2yw"), "primary_attack", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_yqm0k"), "idle_back_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_bmy1k"), "idle_left_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_mxl7w"), "idle_back", "primary_attack", SubResource("AnimationNodeStateMachineTransition_al2xs"), "primary_attack", "idle_back", SubResource("AnimationNodeStateMachineTransition_afa0q"), "idle_front", "primary_attack", SubResource("AnimationNodeStateMachineTransition_irq32"), "primary_attack", "idle_front", SubResource("AnimationNodeStateMachineTransition_2khaq"), "idle_left", "primary_attack", SubResource("AnimationNodeStateMachineTransition_k7x0x"), "primary_attack", "idle_left", SubResource("AnimationNodeStateMachineTransition_noc6c"), "idle_back", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_pwdwf"), "idle_front", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_7d2d3"), "idle_left", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_poqxf"), "idle_left_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_4g2hn"), "idle_front_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_0kxqo"), "idle_back_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_66xgg"), "secondary_attack", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_lgtad"), "secondary_attack", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_fma03"), "secondary_attack", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_5sfp6"), "secondary_attack", "idle_front", SubResource("AnimationNodeStateMachineTransition_v8lxr"), "secondary_attack", "idle_left", SubResource("AnimationNodeStateMachineTransition_jwp0w"), "secondary_attack", "idle_back", SubResource("AnimationNodeStateMachineTransition_6sfg0")] -graph_offset = Vector2(-290.548, -281.487) +graph_offset = Vector2(-128.548, -698.08) [node name="EnemyModelView" type="Node3D"] script = ExtResource("1_ueqp5") @@ -846,8 +839,8 @@ collision_mask = 64 script = ExtResource("58_mbej2") [node name="CollisionShape3D" type="CollisionShape3D" parent="Hitbox"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.189337, 0.217529, -1.45579) -shape = SubResource("BoxShape3D_53wuj") +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.145935, 0, -1.04663) +shape = SubResource("BoxShape3D_l4fpo") disabled = true [node name="AnimationPlayer" type="AnimationPlayer" parent="."]